Skip to content

Commit 41327cb

Browse files
committed
Adding class06
1 parent 8996098 commit 41327cb

File tree

3 files changed

+109
-0
lines changed

3 files changed

+109
-0
lines changed

class06_2020_03_12_change_tables.sql

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
ALTER TABLE
2+
Permite realizar alteração nas tabelas
3+
4+
ADD - adicionar constraint ou atributo
5+
MODIFY - alterar um atributo
6+
DROP - excluir constraint ou atributo
7+
8+
-- Inserir um novo atributo em uma tabela
9+
ALTER TABLE CLIENTE
10+
ADD SEX_CLIENTE CHAR(1);
11+
12+
-- Inserir uma constraint de check (apoio em validações)
13+
ALTER TABLE CLIENTE
14+
ADD CONSTRAINT CK_SEXO CHECK (SEX_CLIENTE IN ('M', 'F'));
15+
16+
-- Visualizar as constraint
17+
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS;
18+
19+
-- Alterar um atributo de uma tabela
20+
ALTER TABLE CLIENTE
21+
MODIFY NOM_cliente VARCHAR2(45);
22+
23+
-- Inserir um novo atributo em uma tabela
24+
ALTER TABLE CLIENTE
25+
ADD DTC_CLIENTE DATE;
26+
27+
-- Excluir o atributo de uma tabela
28+
ALTER TABLE CLIENTE
29+
DROP COLUNM
30+
31+
32+
33+
-- Exercício até *1 ponto*, enviar os scripts por e-mail *([email protected])* até 13/03/2020 23:59
34+
35+
-- 1. Scripts de criação das tabelas do modelo de dados
36+
-- 2. Adicionar um atributo *dta_func_projeto* na tabela *FUNC. PROJETO*.
37+
-- 3. Adicionar constraint de check *vlr_despesa* entre *1* e *9,999,999.99*.
38+
39+
-- Para definir um intervalo de dados utilizar o operador *between*.

image/exercicio12032020.png

99.3 KB
Loading

work01_2020_03_12.sql

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
-- Exercício até 1 ponto, enviar os scripts por e-mail ([email protected]) até 13/03/2020 23:59
2+
-- 1. Scripts de criação das tabelas do modelo de dados
3+
-- 2. Adicionar um atributo dta_func_projeto na tabela FUNC. PROJETO.
4+
-- 3. Adicionar constraint de check vlr_despesa entre 1 e 9,999,999.99.
5+
-- Para definir um intervalo de dados utilizar o operador between.
6+
7+
8+
-- 1. Scripts de criação das tabelas do modelo de dados
9+
--------------------------------------------------
10+
CREATE TABLE FUNCIONARIO (
11+
cod_funcionario INTEGER,
12+
nom_funcionario VARCHAR(40),
13+
dtn_funcionario DATE,
14+
dta_funcionario DATE,
15+
ctps_funcionario VARCHAR(13),
16+
CONSTRAINT PK_funcionario PRIMARY KEY (cod_funcionario)
17+
);
18+
19+
CREATE TABLE CARGO (
20+
cod_cargo INTEGER,
21+
nom_cargo VARCHAR(20),
22+
CONSTRAINT PK_cargo PRIMARY KEY (cod_cargo)
23+
);
24+
25+
CREATE TABLE PROJETO (
26+
num_projeto INTEGER,
27+
tit_projeto VARCHAR(50),
28+
dsc_projeto VARCHAR(250),
29+
dti_projeto DATE,
30+
dtf_projeto DATE,
31+
CONSTRAINT PK_projeto PRIMARY KEY (num_projeto)
32+
);
33+
34+
CREATE TABLE DESPESA (
35+
num_despesa INTEGER,
36+
num_projeto INTEGER,
37+
dta_despesa DATE,
38+
vlr_despesa NUMERIC(9,2),
39+
dsc_despesa VARCHAR(30),
40+
CONSTRAINT PK_despesa PRIMARY KEY (num_despesa),
41+
CONSTRAINT FK_despesa_projeto FOREIGN KEY (num_projeto) REFERENCES PROJETO
42+
);
43+
44+
CREATE TABLE FUNC_PROJETO (
45+
cod_funcionario INTEGER,
46+
num_projeto INTEGER,
47+
CONSTRAINT PK_func_projeto PRIMARY KEY (cod_funcionario, num_projeto),
48+
CONSTRAINT FK_func_projeto_funcionario FOREIGN KEY (cod_funcionario) REFERENCES FUNCIONARIO,
49+
CONSTRAINT FK_func_projeto_projeto FOREIGN KEY (num_projeto) REFERENCES PROJETO
50+
);
51+
52+
CREATE TABLE FUNC_CARGO (
53+
cod_funcionario INTEGER,
54+
cod_cargo INTEGER,
55+
dti_cargo DATE,
56+
CONSTRAINT PK_func_cargo PRIMARY KEY (cod_funcionario, cod_cargo),
57+
CONSTRAINT FK_func_cargo_funcionario FOREIGN KEY (cod_funcionario) REFERENCES FUNCIONARIO,
58+
CONSTRAINT FK_func_cargo_cargo FOREIGN KEY (cod_cargo) REFERENCES CARGO
59+
);
60+
--------------------------------------------------
61+
62+
-- 2. Adicionar um atributo 'dta_func_projeto' na tabela 'FUNC. PROJETO'.
63+
--------------------------------------------------
64+
ALTER TABLE FUNC_PROJETO ADD dta_func_projeto DATE;
65+
--------------------------------------------------
66+
67+
-- 3. Adicionar constraint de check 'vlr_despesa' entre '1' e '9,999,999.99'.
68+
--------------------------------------------------
69+
ALTER TABLE DESPESA ADD CONSTRAINT ck_despesa CHECK (vlr_despesa BETWEEN 1 AND 9999999.99);
70+
--------------------------------------------------

0 commit comments

Comments
 (0)