Escolar Documentos
Profissional Documentos
Cultura Documentos
Entidade: é algo do mundo real que possui uma existência própria. Cada
Entidade tem propriedades particulares que são chamadas de atributos.
Tipos de entidade (retângulo no diagrama entidade-relacionamento) são os que
têm a mesma "estrutura". Os tipos de entidade se escrevem com maiúscula no
singular no DER (diagrama entidade-relacionamento). Um tipo de entidade
define uma coleção, ou conjunto de entidades, que tem os mesmos atributos.
Atributo: é uma propriedade que descreve uma entidade. A Figura 1 apresenta
os atributos do tipo de entidade Funcionário: ident, nome, endereço, salário e
dt_nasc, que é a data de nascimento.
Atributo-chave: todo tipo de entidade deve ter um atributo-chave, que pode ser
simples ou composto, e os valores devem ser distintos. Por exemplo, o CPF é o
atributo-chave para o tipo de entidade FUNCIONÁRIO, não pode ser o atributo
nome porque pode ter o mesmo nome para mais de um funcionário ou entidade,
e isso viola a restrição de unicidade que proíbe que duas entidades, em um
mesmo conjunto entidade, tenham os mesmos valores no seu atributo-chave.
Atributos-chave são sinalizados com sublinhado.
A Figura 3 apresenta o tipo de entidade Carro. Neste exemplo tem dois atributos
cujos valores são distintos (Registro e Cod_veiculo) para cada entidade
individual no conjunto, eles estão sublinhados indicando que são atributos-
chave, cada um por si só. Depois, no modelo lógico, só será eleito um deles
como chave. O atributo-chave Registro é também composto por subpartes:
Estado e Número, isso significa que é necessária uma combinação de atributos
para poder ser única. É o caso do RG, que, por não ser único, necessita da
indicação do estado para poder compor um valor único para cada pessoa.
Atributo multivalorado: o atributo Cor, da Figura 3, está destacado com linha
dupla indicando que ele é multivalorado, isto é, atributos que podem ter um
conjunto de valores. Exemplo: Cor={verde, branco, azul}.
Figura 3. Carro com dois atributos-chave, Registro e Cod_veiculo (atributos-
chave por separado) e um atributo multivalorado (Cor).
Restrições
• Passo 1:
• Para cada tipo de entidade normal E no DER (empregado na Figura
7), crie uma relação R que inclua todos os atributos simples de E.
• Inclua também os atributos simples dos atributos compostos.
• Escolha um dos atributos-chave de E como a chave primária de R.
• Se a chave escolhida é composta, então o conjunto de atributos
simples que o compõem formarão a chave primária de R.
• Passo 2:
• Para cada tipo de entidade fraca W do DER (DEPENDENTE na
Figura 8) com o tipo de relacionamento de identificação E, crie uma
relação R e inclua todos os atributos simples (ou os atributos
simples de atributos compostos) de W como atributos de R.
• Além disso, inclua como a chave estrangeira de R a chave primária
da relação que corresponde ao tipo de entidade proprietário da
identificação.
• A chave primária de R é a combinação da chave primária do tipo
de entidade proprietário da identificação e a chave parcial do tipo
de entidade fraca W.
Figura 8. Tipo de entidade fraca Dependente.
Assim a relação DEPENDENTE é criada seguindo o passo 2.
• Passo 3:
• Para cada tipo de relacionamento binário 1:1, R, do DER,
identifique as relações S e T que correspondem aos tipos de
entidade que participam da relação R.
• Escolha uma das relações, por exemplo S, e inclua como chave
estrangeira de S a chave primária de T.
• É melhor escolher o tipo de entidade com participação total (linha
dupla no DER) em R como sendo a relação S. Na figura 9, S foi
escolhida como sendo DEPARTAMENTO ela tem participação
total no tipo de relacionamento GERENCIA.
• Inclua todos os atributos simples (ou os atributos simples de
atributos compostos) do tipo de relacionamento 1:1, R, como
atributos de S.
Figura 9. Relacionamento binário 1:1.
• Passo 4:
• Para cada tipo de relacionamento binário regular 1:N, R, identificar
a relação S que representa o tipo de entidade que participa do lado
N (muitos) de R.
• Inclua como chave estrangeira de S a chave primária de T que
representa o outro tipo de entidade que participa em R; isso porque
cada entidade do lado 1 está relacionada a mais de uma entidade
no lado N.
• Na Figura 10, S será escolhido como sendo a relação Empregado
e T será escolhido como sendo a relação Departamento. Assim, a
relação EMPREGADO deverá ter a chave estrangeira de
DEPARTAMENTO.
• Inclua também quaisquer atributos simples (ou atributos simples de
atributos compostos) do tipo de relacionamento 1:N como atributos
de S. No caso da Figura 10, não tem atributos no tipo de
relacionamento.
Figura 10. Relacionamento binário N:1.
TRABALHA_EM(NssEmpregado,NúmeroProjeto, Horas)
NssEmpregado é chave estrangeira para Empregado e NúmeroProjeto é chave
estrangeira para Projeto. O atributo horas que é do tipo de relacionamento e é
incluído na relação TRABALHA_EM.
• Passo 6:
• Para cada atributo A multivalorado, crie uma nova relação R que
inclua o atributo A e a chave primária, K, da relação que representa
o tipo de entidade ou o tipo de relacionamento que tem A como
atributo.
• A chave primária de R é a combinação de A e K.
• A Figura 12 apresenta o atributo multivalorado Localização.
• Se o atributo multivalorado é composto, inclua os atributos simples
que o compõem.
Normalização
Primeira Forma Normal
• Atributos compostos
• Atributos multivalorados
• Relações aninhadas
Figura 14. Processo de normalização da relação que não está na 1FN para duas
relações em 1FN.
Na Figura 15, a relação FUNC_PROJ não está na 2FN, ela tem dois atributos
que compõem a chave e existem atributos que dependem de parte da chave, e
não de toda a chave, por exemplo o atributo fuc_nome, que depende de parte
da chave que é func_ident.
Normalizando, são criadas duas relações, a FD1 da Figura 18, com os dados de
Funcionário e a chave estrangeira para Departamento, e a relação
Departamento com depto_número como chave primária e depto_nome e
depto_g_ident como atributos.
Figura 18. Processo de normalização da relação FUNC_DEPTO.
Uma relação esquema R está na BCNF se sempre que houver uma DF X->A
MYSQL