Trabalho de banco de dados i dml
1) Analisando estrutura abaixo, resolva o item a seguir descrevendo TODO o script SQL utilizado.
FUNCIONARIO
|MATRICULA |NOME |
|1 |Informatica |
|2 |Contabilidade |
a) Descreva TODO o script utilizado para que os atributos de CARGO, ESTADO e CIDADE funcionem da mesma maneira que a relação de FUNCIONARIO com DEPTO. Para o relacionamento com CARGO, a regra de integridade referencial para exclusão deverá ser “Set Null”, e para o relacionamento com CIDADE deverá ser “CASCADE”. Ao final da execução deste script, a tabela FUNCIONARIO deverá ficar da seguinte maneira:
MATRICULA |NOME |CARGO |SALARIO |CODDEPTO |COMISSAO |ESTADO |CIDADE |CODIGOESTADO |CODIGOCIDADE |CODIGOCARGO | |10 |Ana |Analista |2800 |1 |100 |NULL |NULL |NULL |1 |1 | |20 |Jose |Prog |1500 |1 |200 |MG |BH |1 |1 |2 | |30 |Paulo |Gerente |4000 |1 |100 |RJ |Rio |2 |2 |3 | |40 |Lucas |Contador |1400 |2 |300 |RJ |Rio |2 |2 |4 | |50 |Luiz |Gerente |3500 |2 |200 |MG |Betim |1 |3 |3 | |60 |Joel |analista |3200 |1 |100 |ES |Vitoria |3 |4 |1 | |
Resposta:
ALTER TABLE FUNCIONARIO ADD CODIGOESTADO INT;
ALTER TABLE FUNCIONARIO ADD CODIGOCIDADE INT;
ALTER TABLE FUNCIONARIO ADD CODIGOCARGO INT;
CREATE TABLE ESTADO ( CODIGOESTADO INT NOT NULL, DESCRICAO VARCHAR(3)
)
ALTER TABLE ESTADO ADD CONSTRAINT PK_ESTADO PRIMARY KEY (CODIGOESTADO);
ALTER TABLE FUNCIONARIO ADD CONSTRAINT FK_FUNCIONARIO_ESTADO FOREIGN KEY (CODIGOESTADO) REFERENCES ESTADO (CODIGOESTADO);
INSERT INTO ESTADO(CODIGOESTADO, DESCRICAO) VALUES (1,'MG');
INSERT INTO ESTADO(CODIGOESTADO, DESCRICAO) VALUES (2,'RJ');
INSERT INTO ESTADO(CODIGOESTADO, DESCRICAO) VALUES (3,'ES');
UPDATE FUNCIONARIO SET CODIGOESTADO = 1 WHERE ESTADO = 'MG'
UPDATE FUNCIONARIO SET CODIGOESTADO = 2 WHERE ESTADO = 'RJ'
UPDATE FUNCIONARIO SET CODIGOESTADO = 3 WHERE ESTADO = 'ES'
CREATE TABLE CIDADE( CODIGOCIDADE INT NOT NULL,