forked from viniciuscdes/mysqlbook
-
Notifications
You must be signed in to change notification settings - Fork 0
/
definicao.sql
158 lines (122 loc) · 4.34 KB
/
definicao.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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/*
*******************************************
* Editora: Casa do Código *
* Livro..: MySQL do básico ao Avançado *
* ISBN...: *
* Autor..: Vinicius Carvalho de Souza *
*******************************************
Arquivo: definicao.sql
*/
-- Inicio Criação das Tabelas --
mysql> create table comclien(
n_numeclien int not null auto_increment,
c_codiclien varchar(10),
c_nomeclien varchar(50),
c_razaclien varchar(50),
d_dataclien date,
c_cnpjclien varchar(15),
c_foneclien varchar(15),
c_cidaclien varchar(50),
c_estaclien varchar(50),
primary key (n_numeclien));
mysql> create table comforne(
n_numeforne int not null auto_increment,
c_codiforne varchar(10),
c_nomeforne varchar(50),
c_razaforne varchar(50),
c_foneforne varchar(15),
primary key(n_numeforne));
mysql> create table comprodu(
n_numeprodu int not null auto_increment,
c_codiprodu varchar(20),
c_descprodu varchar(100),
n_valoprodu float(10,2),
c_situprodu varchar(1),
n_numeforne int,
primary key(n_numeprodu));
mysql> create table comvenda(
n_numevenda int not null auto_increment,
c_codivenda varchar(10),
n_numeclien int not null,
n_numeforne int not null,
n_numevende int not null,
n_valovenda float(10,2),
n_descvenda float(10,2),
n_totavenda float(10,2),
d_datavenda date,
primary key(n_numevenda));
mysql> create table comvende(
n_numevende int not null auto_increment,
c_codivende varchar(10),
c_nomevende varchar(50),
c_razavende varchar(50),
c_fonevende varchar(10),
n_porcvende float(10,2),
primary key(n_numevende));
mysql> create table comivenda(
n_numeivenda int not null auto_increment,
n_numevenda int not null,
n_numeprodu int not null,
n_valoivenda float(10,2),
n_qtdeivenda int,
n_descivenda float(10,2),
primary key(n_numeivenda));
-- Fim Criação das Tabelas --
-- Inicio Alteração das Tabeals --
mysql> alter table comclien add column c_cidaclien varchar(50);
mysql> alter table comclien add column c_estclien varchar(50);
mysql> alter table comclien drop column c_estclien;
mysql> alter table comclien add column c_estaclien varchar(50);
mysql> alter table comclien modify column c_estaclien int;
mysql> alter table comclien modify column c_estaclien varchar(100);
-- Fim Alteração das Tabeals --
-- Inicio de exclusão de tabelas --
mysql> drop table comvendas;
-- Fim de exclusão de tabelas --
-- Inicio da criação dos inidex --
mysql> alter table comprodu
add index comprodu_conforne_idx (n_numeforne asc);
mysql> alter table comvenda
add index comvenda_comclien (n_numeclien asc);
mysql> alter table comvenda
add index comvenda_comforne_idx (n_numeforne asc);
mysql> alter table comivenda
add index comivenda_comprodu_idx(n_numeprodu asc);
-- Fim da criação dos index --
-- Inicio da criação das constraints de chave estrangeira --
mysql> alter table comvenda add constraint fk_comprodu_conforne
foreign key(n_numeforne)
references comforne(n_numeforne)
on delete no action
on update no action;
mysql> alter table comvenda add constraint fk_comvenda_comclien
foreign key(n_numeclien)
references comclien(n_numeclien)
on delete no action
on update no action;
mysql> alter table comvenda add constraint fk_comvenda_comvende
foreign key(n_numevende)
references comvende(n_numevende)
on delete no action
on update no action;
mysql> alter table comvenda add constraint fk_comvenda_comforne
foreign key(n_numeforne)
references comforne(n_numeforne)
on delete no action
on update no action;
mysql> alter table comivenda add constraint fk_comivenda_comprodu
foreign key(n_numeprodu)
references comprodu (n_numeprodu)
on delete no action
on update no action;
-- Fim da criação das constraints --
-- Inicio da criação de usuarios --
-- criar um usuario
mysql> create user 'comercial'@'%' identified by 'comerci@l';
-- dando permissão
mysql> grant all privileges on *.* to 'comercial'@'%' with grant option;
-- selecionando as permissões do usuario
mysql> show grants for comercial@localhost;
-- para consultar os usuarios criados
mysql> select user, host from mysql.user;
-- Fim da criação de usuarios --