· 6 years ago · Sep 17, 2019, 12:26 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),
28);
29
30CREATE TABLE IF NOT EXISTS cliente_email(
31codigo_cliente INT NOT NULL,
32email VARCHAR(200) NOT NULL,
33PRIMARY KEY (codigo_cliente, email)
34FOREIGN KEY (codigo_cliente) REFERENCES cliente (codigo),
35);
36
37CREATE TABLE IF NOT EXISTS marca(
38codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
39nome VARCHAR(200) NOT NULL,
40UNIQUE KEY nome (nome)
41);
42
43CREATE TABLE IF NOT EXISTS modelo(
44codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
45nome VARCHAR(100) NOT NULL,
46cor VARCHAR(100) NOT NULL,
47fabrica_ano INT NOT NULL,
48modelo_ano INT NOT NULL,
49codigo_marca INT NOT NULL,
50FOREIGN KEY (codigo_marca) REFERENCES marca (codigo)
51);
52
53CREATE TABLE IF NOT EXISTS veiculo (
54codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
55placa char(7) NOT NULL,
56codigo_modelo INT NOT NULL,
57UNIQUE KEY placa (placa),
58FOREIGN KEY (codigo_modelo) REFERENCES modelo (codigo)
59);
60
61CREATE TABLE IF NOT EXISTS locacao(
62codigo INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
63codigo_cliente INT NOT NULL,
64codigo_veiculo INT NOT NULL,
65FOREIGN KEY (codigo_cliente) REFERENCES cliente (codigo),
66FOREIGN KEY (codigo_veiculo) REFERENCES veiculo (codigo),
67km_saida DOUBLE NOT NULL,
68hora_saida TIMESTAMP NOT NULL,
69data_saida DATE NOT NULL,
70km_entrada DOUBLE,
71hora_entrada TIMESTAMP,
72data_entrega DATE
73);