|
| 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