· 6 years ago · Sep 17, 2019, 12:00 AM
1CREATE DATABASE IF NOT EXISTS teste;
2
3USE teste;
4
5CREATE TABLE IF NOT EXISTS cliente(
6codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
7nome VARCHAR(200) NOT NULL,
8sexo CHAR(1) NOT NULL,
9data_nascimento DATE NOT NULL,
10mae VARCHAR(200) NOT NULL,
11pai VARCHAR(200) NOT NULL,
12cep DOUBLE NOT NULL,
13logradouro VARCHAR(100) NOT NULL,
14bairro VARCHAR(200) NOT NULL,
15casa VARCHAR(20) NOT NULL,
16complemento VARCHAR(200) NOT NULL,
17cidade VARCHAR(200) NOT NULL,
18uf CHAR(2) NOT NULL,
19cpf BIGINT(11) UNSIGNED ZEROFILL NOT NULL,
20rg DOUBLE NOT NULL
21);
22
23CREATE TABLE IF NOT EXISTS cliente_telefone(
24codigo_cliente INT NOT NULL,
25telefone DOUBLE NOT NULL,
26PRIMARY KEY (codigo_cliente, telefone)
27FOREIGN KEY (codigo_cliente) REFERENCES cliente (codigo),
28FOREIGN KEY (telefone) REFERENCES cliente (telefone),
29);
30
31CREATE TABLE IF NOT EXISTS cliente_email(
32codigo_cliente INT NOT NULL,
33email VARCHAR(200) NOT NULL,
34PRIMARY KEY (codigo_cliente, email)
35FOREIGN KEY (codigo_cliente) REFERENCES cliente (codigo),
36FOREIGN KEY (email) REFERENCES cliente (email),
37);
38
39CREATE TABLE IF NOT EXISTS marca(
40codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
41nome VARCHAR(200) NOT NULL,
42UNIQUE KEY nome (nome)
43);
44
45CREATE TABLE IF NOT EXISTS modelo(
46codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
47nome VARCHAR(100) NOT NULL,
48cor VARCHAR(100) NOT NULL,
49fabrica_ano INT NOT NULL,
50modelo_ano INT NOT NULL,
51codigo_marca INT NOT NULL,
52FOREIGN KEY (codigo_marca) REFERENCES marca (codigo)
53);
54
55CREATE TABLE IF NOT EXISTS veiculo (
56codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
57placa char(7) NOT NULL,
58codigo_modelo INT NOT NULL,
59UNIQUE KEY placa (placa),
60FOREIGN KEY (codigo_modelo) REFERENCES modelo (codigo)
61);
62
63CREATE TABLE IF NOT EXISTS locacao(
64codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
65codigo_cliente INT NOT NULL,
66codigo_veiculo INT NOT NULL,
67FOREIGN KEY (codigo_cliente) REFERENCES cliente (codigo),
68FOREIGN KEY (codigo_veiculo) REFERENCES veiculo (codigo),
69km_saida DOUBLE NOT NULL,
70hora_saida TIME NOT NULL,
71data_saida DATE NOT NULL,
72km_entrada DOUBLE,
73hora_entrada TIME,
74data_entrega DATE
75);