-
Notifications
You must be signed in to change notification settings - Fork 0
/
script_mysql.sql
108 lines (93 loc) · 2.57 KB
/
script_mysql.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*Criação do banco de dados.*/
CREATE DATABASE ola_mundo_telecom;
/*Declaração de uso do BD a ser manipulado.*/
USE ola_mundo_telecom;
/*Criação das tabelas com seus respectivos campos.*/
CREATE TABLE endereco_cliente(
id_endereco_cliente INT,
rua VARCHAR(45) NOT NULL,
numero INT NOT NULL,
bairro VARCHAR(45) NOT NULL,
cidade VARCHAR(45) NOT NULL,
PRIMARY KEY(id_endereco_cliente)
);
CREATE TABLE contato_cliente(
id_contato_cliente INT,
ddd INT NOT NULL,
digitos INT NOT NULL,
PRIMARY KEY(id_contato_cliente)
);
CREATE TABLE cliente(
id_cliente INT,
cpf BIGINT NOT NULL,
rg INT NOT NULL,
nome_cliente VARCHAR(45) NOT NULL,
id_endereco_cliente INT,
id_contato_cliente INT,
PRIMARY KEY(id_cliente),
FOREIGN KEY (id_endereco_cliente) REFERENCES endereco_cliente (id_endereco_cliente),
FOREIGN KEY (id_contato_cliente) REFERENCES contato_cliente (id_contato_cliente)
);
CREATE TABLE endereco_servico(
id_endereco_servico INT,
rua VARCHAR(45) NOT NULL,
numero INT NOT NULL,
bairro VARCHAR(45) NOT NULL,
cidade VARCHAR(45) NOT NULL,
PRIMARY KEY(id_endereco_servico)
);
CREATE TABLE tecnico(
id_tecnico INT,
matricula INT NOT NULL,
nome_tecnico VARCHAR(45) NOT NULL,
cnh BIGINT(11) UNIQUE NOT NULL,
crea BIGINT(5) UNIQUE,
PRIMARY KEY(id_tecnico)
);
CREATE TABLE linha_telefonica(
id_linha_telefonica INT,
cn INT NOT NULL,
digitos INT NOT NULL,
Tecnico_Matricula int,
PRIMARY KEY(id_linha_telefonica)
);
CREATE TABLE servico(
id_servico INT,
protocolo INT NOT NULL,
data_emissao DATE NOT NULL,
descricao_atividade TEXT(120) NOT NULL,
id_linha_telefonica INT,
PRIMARY KEY(id_servico),
FOREIGN KEY (id_linha_telefonica) REFERENCES linha_telefonica (id_linha_telefonica)
);
CREATE TABLE servico_x_tecnico(
id_tecnico INT,
id_servico int,
FOREIGN KEY (id_tecnico) REFERENCES tecnico (id_tecnico),
FOREIGN KEY (id_servico) REFERENCES servico (id_servico)
);
CREATE TABLE contrato(
id_contrato INT,
numero_contrato INT NOT NULL,
plano_telefonico VARCHAR(45) NOT NULL DEFAULT 'Ligação local',
data_assinatura DATE NOT NULL,
id_cliente INT,
id_servico INT,
id_endereco_servico INT,
PRIMARY KEY(id_contrato),
FOREIGN KEY (id_cliente) REFERENCES cliente (id_cliente),
FOREIGN KEY (id_servico) REFERENCES servico (id_servico),
FOREIGN KEY (id_endereco_servico) REFERENCES endereco_servico (id_endereco_servico)
);
/*Exclusão das tabelas.*/
DROP TABLE servico_x_tecnico;
DROP TABLE tecnico;
DROP TABLE contrato;
DROP TABLE endereco_servico;
DROP TABLE servico;
DROP TABLE linha_telefonica;
DROP TABLE cliente;
DROP TABLE contato_cliente;
DROP TABLE endereco_cliente;
/*Exclusão do bd*/
DROP DATABASE ola_mundo_telecom;