PS-GRADUAO EM ENGENHARIA DE SOFTWARE NOME: ANDR ALMEIDA ARAJO
1 Empregado (CPF (nn), nome(nn), Salario(nn))
Telefone (idTelefone (nn), CPF (nn), DDD (nn), NUMERO(nn) ) Telefone [CPF] -- b --> Empregado [CPF] Restrio de bloqueio, porque no se pode remover um telefone vinculado a um empregado existente. Gerente (CPF (nn), Gratificao) Gerente [CPF] -- p--> Empregado [CPF] Restrio de propagao, porque ao removermos um registro na tabela gerente, automaticamente deve ser removido o registro do funcionrio gerente na tabela de empregado. Departamento (CodDept (nn), CPFgerente (nn), NomeDept (nn), Ramal ) Departamento [CPFgerente] -- b --> Gerente [CPF] Restrio de bloqueio, causado pelo relacionamento de totalidade. Todo departamento gerenciado por 1 (um) gerente. No se pode remover um departamento onde h um gerente trabalhando. Administrativo (CPF (nn), Funo (nn) ) Administrativo [CPF] -- p --> Empregado [CPF] Restrio de propagao, porque ao remover um registro na tabela ADMINISTRATIVO, devemos remover o registro referente ao funcionrio administrativo na tabela EMPREGADO. Tcnico (RegProf (nn), CPF (nn), Especialidade (nn) ) Tcnico [CPF] -- p--> Empregado [CPF] Restrio de propagao, porque ao se remover um registro na tabela tcnico, automaticamente deve ser removido o registro referente ao funcionrio tcnico na tabela de empregado. Lder (CodProj (nn), CPF(nn)) Lider [CodProj] -- b -- > Projeto [CodProj] Lider [CPF] -- N -- > Tecnico [CPF] 1 Restrio de bloqueio, causado pelo relacionamento de totalidade, pois todo lder, lidera um projeto existente. 2 Restrio de valores null, pois nem todo tcnico precisa ser necessariamente um lder. Projeto (CodProj (nn), Nome(nn), Ramal ) Projeto (CodProj (nn), Nome(nn), Ramal ) 2 CREATE ASSERTION Empregado-total CHECK (NOT EXISTS (SELECT * FROM Empregado WHERE CPF not in (SELECT CPF FROM Gerente UNION SELECT CPF FROM Administrativo UNION SELECT CPF FROM Tecnico))) CREATE ASSERTION Gerente-Administrativo-Tecnico CHECK (NOT EXISTS (SELECT * FROM Gerente G, Administrativo A, Tecnico T WHERE G.CPF = A.CPF and A.CPF = T.CPF and G.CPF = T.CPF)) CREATE ASSERTION Todo-departamento--gerenciado-por-um-gerente CHECK (NOT EXISTS (SELECT * FROM Departamento WHERE CPFgerente NOT IN (select CPF FROM Gerente)))
CREATE ASSERTION Todo-lider-lidera-um-projeto CHECK (NOT EXISTS (SELECT * FROM
Lider WHERE CPF NOT IN (SELECT CodProj FROM Projeto))) 3 Tuplas Esprias por definio so Tuplas que possuem valores ilegtimos. Podem ser definidas tambm como tabelas degeneradas, que, quando relacionadas, podem gerar informaes / dados errneos As tuplas esprias esto relacionadas com a 4 diretriz informal para um projeto de esquema de relaes. Esta uma maneira de prevenir este problema. A 4 diretriz corresponde a tuplas esprias e o objetivo principal projetar esquemas de relao tal que, quando aplicadas operaes JOIN-NATURAIS, os atributos nas condies-joins envolvam atributos que sejam ou chaves primarias ou chaves estrangeiras de maneira a garantir que nenhuma tupla espria seja gerada. 4 A 3FN versa que um esquema de relao R est na 3FN se estiver na 2FN e nenhum atributo de R no pertencente a uma de suas chaves for transitivamente dependente da chave primria. Resumindo: os atributos que no pertencem chave no dependem de nenhum atributo que tambm no pertence chave. preciso identificar as colunas que so funcionalmente dependentes das outras colunas no chave e extra-las para outra tabela. Aps a normalizao, as estruturas dos dados esto projetadas para eliminar as inconsistncias e redundncias dos dados, eliminando desta forma qualquer problema de atualizao e operacionalizao do sistema. A verso final dos dados poder sofrer alguma alterao, para atender as necessidades especficas do sistema, a critrio do analista de desenvolvimento durante o projeto fsico do sistema. 5 Esquema de Relao: R (A,B,C,D,E,F,G,H,I,J) Dependncias Funcionais: AB C, BD EF, AD GH, A I, H J 1 NF - R (A,B,C,D,E,F,G,H,I,J) 2 NF - R (A,B,C,D,E,F,G,H,I,J) R2 (AD ,E,F,G,H) FK: A PK: AD R3 (A ,B,C,H,I,J) FK: A PK: A 3 NF R1 (A,B,C,H,J) FK: A PK: A R2 (J) PK: J R3 (A, D, G, H) PK: A R4 (E, F) PK: E 6Naterceiraformanormaltemosdeeliminaraquelescamposquepodemserobtidospela equaodeoutroscamposdamesmatabela.Paraissodevemos: a)Identificartodososatributosquesofuncionalmentedependentesdeoutrosatributosnochave; b)Removlos. Achaveprimriadanovaentidadeseroatributodoqualosatributosremovidosso funcionalmentedependentes. Emumarelaocomduascolunas,1colunaseraachaveprimriaeaoutrano.Causandoassima outracolunaquenoPK(chaveprimria)nodependentedestacolunachave.