Buscar

Relacionamento-Banco-de-Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
Modelagem de Dados 
 4. MODELO E-R E SEUS CONCEITOS 
 
4.1. Entidades 
 
Uma entidade é uma coisa que pode ser identificada distintamente. 
Em nosso centro de interesse, uma entidade é todo o objeto ou evento, abstrato ou não, 
sobre o qual desejamos armazenar informações. 
Dentro do conceito de coisa, podemos então dizer que em uma empresa existem 
muitas coisas que são de interesse para a mesma. 
É responsabilidade do projetista de sistemas em banco de dados selecionar as 
entidades que são adequadas para os objetivos da empresa. 
Dentro do conceito de que um banco de dados relacional clássico, a representação de 
entidades é feita por um retângulo com nome da mesma em seu interior. 
Por uma questão de sintaxe correta, devemos estabelecer, como regra, utilizar sempre 
o nome das entidades como substantivo no singular (vide quadro abaixo). 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.1 – Entidades 
 
ENTIDADE é todo o objeto ou evento sobre o qual 
armazena-se informação 
 
CLIENTE 
 
EMPRESA 
 
PRODUTO 
 
COTAÇÃO 
 
FILME 
 2 
Modelagem de Dados 
4.2. Atributos 
 
 
 
 
 
 
 
 
 
 
Figura 4.2 – Atributos 
 
É uma característica inerente a uma entidade. O que difere um atributo de uma 
entidade? 
Um atributo é um dado que se refere a uma entidade, ou seja, um valor ou propriedade 
descritiva que caracteriza uma coisa (entidade). Em comparação aos sistemas tradicionais, um 
atributo corresponde a um campo, ou melhor, a um item de dado de um arquivo convencional. 
Dentro da abordagem relacional, um atributo é uma coluna da tabela que representa 
uma entidade. 
 
 
 
 
 
• É uma característica inerente de uma entidade 
• Um valor ou propriedade descritiva das entidades 
 
 
• ATRIBUTO = ITEM DE DADO = DADO 
ATRIBUTOS 
 3 
Modelagem de Dados 
4.2.1. Domínio de um atributo 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.3 – Domínio de um atributo 
 
Chamamos de domínio de um atributo o conjunto de valores que ele pode assumir, 
para a entidade a qual ele caracteriza. Um conjunto formado por valores de atributos de uma 
entidade caracteriza o que denominamos de tupla, ou seja, uma linha tabela. E o conjunto 
destas tuplas chamamos de relação, ou seja, a tabela em si. O gráfico acima nos fornece uma 
visão dos conceitos apresentados. 
 
 
 
 
É o conjunto de valores 
de um atributo, tais 
como: 
 
• pesos 
• valores 
• cores 
• nomes, etc. 
DOMÍNIO 
5 
a b c 
9 
3 
(3,a) 
(5,b) 
(9,c) 
Domínio de X 
Domínio 
de Y 
 4 
Modelagem de Dados 
4.2.2. Atributo – chave ou identificador 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.4 – Atributo-chave ou identificador 
 
Em uma tupla, um atributo ou conjunto de atributos possui a propriedade de 
determinar uma única ocorrência de uma tupla em uma relação. Este atributo ou conjunto de 
atributos denominamos atributo-chave. 
Em uma tabela, um atributo chave caracteriza um item de busca, não representando, 
por ser chave, qualquer forma de ordenação. 
 
 Atributo → Chave 
 Atributo → Obrigatório 
 Atributo → Facultativo 
 Atributo → Derivado 
 Atributo → Composto 
 Atributo → Estrangeira 
 
 
 
 
 
É um atributo ou conjunto de atributos que determina 
unicamente uma ocorrência de entidade. 
 
ATRIBUTO-CHAVE OU 
IDENTIFICADOR 
 
Matrícula 
Nome 
Mãe 
Nome 
Pai 
 
Idade 
Data 
Ingresso 
 
Nome 
Entidade ALUNO 
Atributo-chave 
F 
D 
C 
@ 
 5 
Modelagem de Dados 
4.3. Relacionamentos 
 
4.3.1. O que é relacionamento 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.5 – Relacionamentos 
 
Quando duas entidades apresentam interdependência, em que uma determinada tupla 
(linha) de uma delas origina ou se associa a “1” ou “n” tuplas de outra, dizemos que elas 
apresentam um relacionamento. 
O relacionamento é representado por um segmento contínuo ligando as duas entidades. 
 
 
 
 
 
 
 
 
Adão 
 
Jarbas 
 
Pedro 
Empregado Departamento 
Produção 
Compras 
 
 
Vendas 
Departamento Empregado 
Está lotado 
LOTADO 
 6 
Modelagem de Dados 
4.3.2. Como identificar um relacionamento 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.6 – Relacionamentos 
 
A tarefa de identificação de relacionamento entre entidades é facilitada pela 
verificação de existência de atributos comuns nas tuplas (linhas) respectivas. 
 
 
4.3.3. Cardinalidade 
 
Havendo relacionamento dentre duas entidades, a próxima etapa é identificar a 
cardinalidade, ou seja, quantas tuplas de uma entidade “A” estão associadas a uma tupla da 
entidade “B” e vice-versa. 
Existem quatro tipos de cardinalidade que são representadas graficamente por uma 
simbologia dupla em que o primeiro símbolo identifica o número mínimo e o segundo o 
número máximo de ocorrências de tuplas associadas. 
 
 
 
 
 
 
 
RELACIONAMENTOS 
 
Funcionário 
 
Cargo 
ocupa 
Cargo Funcionário 
MATR. NOME CARGO 
E34 JOÃO 05 
E27 CARLOS 10 
E89 SILVIO 10 
E67 CARLA 11 
E56 CLÁUDIA 12 
 
CODIGO NOME 
04 DIRETOR 
10 AUXILIAR 
11 SECRETÁRIA 
20 DENTISTA 
12 COZINHEIRA 
 
 7 
Modelagem de Dados 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.7 – Cardinalidade 
 
 
4.4. Tipos de Relacionamentos no Modelo Relacional 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.8 – Tipos de Relacionamentos 
 
 
 
 
CARDINALIDADE 
Notação Clássica 
 0 ou 1 ocorrência no máximo 
Relacionamento opcional 
 1 e somente 1 ocorrência 
Relacionamento obrigatório 
 0 a n ocorrências 
Relacionamento opcional 
 1 a n ocorrências 
Relacionamento obrigatório 
 
 
 
 
 
 
TIPOS DE RELACIONAMENTO 
NOTAÇÃO CLÁSSICA 
DIVISÃO 
FORNECE
DOR 
VENDA 
GERENTE 
ITEM DE 
VENDA 
PRODUTO 
1:1 
um : um 
n:n 
muitos : muitos 
1:n 
um : muitos 
 8 
Modelagem de Dados 
4.4.1. Relacionamento 1 para 1 
 
O relacionamento 1 para 1 ocorre quando, para cada uma ocorrência na tabela A, 
temos somente uma ocorrência na tabela B. Este tipo de relacionamento pode conter, 
normalmente, casos em que existam ocorrências nas entidades (tabelas) sem relacionamento. 
 
 
4.4.2. Relacionamento 1 para muitos 
 
Este é o relacionamento em que temos “n” ocorrências de uma entidade associada a 
uma ocorrência de outra entidade (tabela). No quadro exemplo, temos uma venda possuindo 
“n” itens de venda. 
 
 
4.4.3. Relacionamento de muitos para muitos 
 
Neste tipo de relacionamento, não existe restrição na formação de associações, ou seja, 
uma ocorrência de A pode estar associada a “n” ocorrências de uma entidade B e vice-versa. 
Em nosso quadro, um fornecedor pode estar associado a vários produtos e um produto pode 
ter ou ser fornecido por vários fornecedores. 
 
 
4.4.4. O modelo E-R e a Simplificação do Diagrama de Relacionamentos 
 
Em 1976, Peter Chen elaborou uma extensão do modelo Relacional Clássico, 
conhecido como modelo E-R (Entidade-Relacionamento), firmando-se por uma semântica 
mais completa e por uma diagramação mais simples. 
A representação diagramática de relacionamentos é um losango com um verbo no 
interior, que contém, ou melhor, expressa o significado do relacionamento no mundo real. 
 
 
 9 
Modelagem de DadosFigura 4.9 – Modelo E-R 
 
 
4.5. Relacionamento do Modelo Entidade-Relacionamento 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.10 – Relacionamentos do modelo E-R 
 
Todo relacionamento muitos para muitos se caracteriza por ser um relacionamento 
 
 
 
 
 
MODELO 
ENTIDADE-RELACIONAMENTO 
DIVISÃO 
FORNECE
DOR 
VENDA 
GERENTE 
ITEM DE 
VENDA 
PRODUTO 
Peter Chen (1976) MT – Notação do Modelo E-R 
* Notação com mais semântica 
n:n 
muitos : muitos 
1:n 
um : muitos 
1:1 
um : um 
1 1 
1 N 
N N 
Diagrama mais simplificado 
 
 
 
 
RELACIONAMENTO COM CAMPOS 
 
MÉDICO 
 
PACIENTE consulta 
 
FORNECEDOR 
 
PRODUTO consulta 
CODIGO 
MEDICO 
CODIGO 
PACIENTE 
DATA 
CONSULTA 
HORA 
CONSULTA 
PRODUTO FORNECEDOR PREÇO PRAZO 
 10 
Modelagem de Dados 
com campos, uma extensão do modelo E-R. 
Em alguns casos, um analista poderá enxergar este tipo de relacionamento como sendo 
uma entidade, ou seja, uma tabela, mas outro analista terá a visão dos dados como um 
relacionamento, no mundo real. Isto ocorre, principalmente, com eventos, já que objetos são 
estáveis no tempo e eventos ocorrem em determinados períodos de tempo. 
Os dois exemplos apresentados no quadro acima indicam, respectivamente, como 
possíveis campos de um relacionamento: 
CONSULTA: DIA DA CONSULTA / HORA DA CONSULTA 
FORNECE: PREÇO DE VENDA / PRAZO DE ENTREGA 
 
 
4.6. Auto-relacionamento 
 
Em alguns casos a entidade pode se relacionar com ocorrências dela mesma. Nestes 
casos, temos o AUTO-RELACIONAMENTO ou RELACIONAMENTO REFLEXIVO. 
Peter Chen especifica a existência de um papel para cada elemento da entidade 
(tabela) para os relacionamentos, mas é no auto-relacionamento que isto realmente se torna 
necessário. Esta especificação deve ser então realizada na definição do relacionamento em si. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.11 – Relacionamento Reflexivo 
 
 
 
 
RELACIONAMENTO REFLEXIVO 
CODIGO É 
COMPOSTO 
COD PROD 
COMPOSTO 
COD PROD 
COMPONENTE 
 
QUANTIDADE 
 
COMPONENTE 
 
COMPOSTO 
 
PRODUTO 
N 
N 
 11 
Modelagem de Dados 
No exemplo apresentado na figura 4.11, vemos que os papéis que o PRODUTO tem 
no relacionamento COMPOSIÇÃO como COMPONENTE_DE e COMPOSTO-POR. 
Usualmente, estes papéis são denominados de ROLES ou ALIÁS. 
Um relacionamento reflexivo pode, normalmente, se caracterizar como um 
relacionamento com campos. 
 
 
4.7. Relacionamentos Múltiplos 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.12 – Relacionamentos Multiplos 
 
Existem casos em que os relacionamentos acontecem entre mais de duas entidades. 
 
 
4.7.1. Relacionamentos Ternários 
 
Por exemplo: dado um aluno, este pode cursar várias disciplinas, e uma disciplina 
possui um professor. 
Um professor pode lecionar várias disciplinas, mas um aluno só pode ter um professor 
 
 
 
 
RELACIONAMENTOS MÚLTIPLOS 
P–A–D 
 
Professor 
 
Aluno 
 
Disciplina 
n n 
n 
Um professor tem 
muitos alunos 
Um professor leciona 
muitas disciplinas 
Um disciplina tem um 
professor 
Um aluno tem um 
professor por 
disciplina 
Um aluno cursa 
várias disciplinas 
 12 
Modelagem de Dados 
por disciplina. 
Um professor pode ter vários alunos em uma disciplina. 
 
 
4.7.2. Agregações 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.13 – Agregações 
 
Como o modelo de Peter Chen não prevê relacionamentos entre relacionamentos, 
introduz-se aqui uma extensão deste modelo. 
Existem casos em que um Relacionamento comporta-se como uma entidade 
(principalmente nos casos de relacionamento com campos). 
Agrega-se os elementos do primeiro relacionamento, como se tivéssemos a visão de 
uma entidade, e relaciona-se esta agregação com a terceira entidade (vide quadro). 
 
 
 
 
 
AGREGAÇÃO 
 
Máquina 
TRABALHA 
 
Funcionário 
 
Projeto 
N N 
N 
USA 
 13 
Modelagem de Dados 
4.8. Particionando entidades 
 
4.8.1. Generalização 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.14 – Generalização 
 
Uma outra extensão do modelo E-R é a denominada GENERALIZAÇÃO. 
Quando duas entidades ou um conjunto de entidades representa elementos do mundo 
real, que se subdividem em categorias, com seus atributos parcialmente distintos, ou mesmo 
iguais, isso nos conduz a entender que é uma entidade única. 
Mas como estas categorias possuem relacionamentos diferentes com outras entidades, 
são consideradas, então, como se fossem SUBCONJUNTOS DA ENTIDADE BÁSICA. 
No exemplo da figura 4.14, funcionários podem ser do tipo motorista, ou secretária, ou 
engenheiro. Cada um destes tipos possui dados comuns, mas uma secretária não possui 
carteira de habilitação, por exemplo. 
 
 
 
 
 
 
 
GENERALIZAÇÃO 
 
Funcionário 
 
Secretária 
 
Engenheiro 
 
Motorista 
Tipo de funcionário 
 14 
Modelagem de Dados 
Então, criam-se tipos com diferenciador. Os dados não-comuns constituem-se, então, 
em subconjuntos de entidade principal. 
A chave da entidade subconjunto é composta pela chave da entidade principal, e um 
atributo específico e não repetitivo da mesma. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 4.15 – Generalização 
 
 
 
 
 
 
ENTIDADES SUBCONJUNTO 
 
Funcionário 
 
Motorista 
CATEG 
1 
1 
CARTEIRA 
MOTORISTA 
PLACA DO 
CARRO 
 
 
CODIGO DO 
FUNCIONÁRIO 
Categoria 
 15 
Modelagem de Dados 
5. MODELAGEM PRÁTICA DE DADOS 
 
A primeira etapa da modelagem de dados consiste no que denominamos ANÁLISE 
DE ENTIDADES E RELACIONAMENTOS. Esta etapa constitui-se, de uma fase na qual 
determinaremos quais as entidades que interessam ao modelo parcial de necessidade da 
empresa que estamos enfocando. Esta análise e definição pode ser baseada no modelo 
conceitual obtido após as entrevistas e análise de documentos. 
 
5.1. Reconhecer as Entidades 
 
Ao analisarmos este contexto, deveremos ter em mente uma forma de pensar E-R, ou 
seja, que cada entidade é sempre representada por uma tabela. Logo, algo que não requeira 
pelo menos dois atributos para descrevê-lo, provavelmente não caracterizará uma entidade, e 
sim, atributo de alguma outra, ou simplesmente uma variável do contexto. É importante 
estabelecermos alguns princípios para que se obtenha, ou melhor, se extraia dos 
levantamentos e entrevistas com usuários as entidades de interesse para aplicação que está 
em projeto. O USUÁRIO sempre se refere a processo. Pense e lembre que o modelo de dados 
não é fluxograma. Logo, não tem começo, nem fim. Esteja atento para referências a 
substantivos, pois é um ponto de indicação de uma entidade. 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.1 – Modelagem prática de dados 
 
 
 
 
MODELAGEM PRÁTICA DE DADOS 
Especificação das Entidades 
Especificação dos Relacionamentos 
Que coisas são trabalhadas? 
O que pode ser identificado por número, código 
Pode assumir forma de uma tabela? 
É um documento externo? Candidato a entidade 
Tem significado próprio? 
Qual a entidade principal? 
ESPECIFICAÇÃO DAS ENTIDADES 
 16 
Modelagem de Dados 
� Adjetivos colocados pelos usuários indicam normalmente atributos de uma 
entidade. 
� Verbos indicam relacionamentos. 
� Advérbios temporais indicam campos de um relacionamento. 
� Procure sempre visualizar qual éa entidade principal do contexto sob análise. 
 
Dica útil: entidades cujo nome termine por “ento” ou por “ão” geralmente são 
procedimentos. 
 
� Documentos externos (recibo, contra-cheque, fatura) são sempre fortes candidatos 
a entidades. 
 
Após termos obtido e identificado as entidades que compõem o contexto de aplicativo 
que estamos projetando, a próxima etapa consiste na definição dos relacionamentos que 
existem entre as entidades e que interessam ao nosso contexto. 
No momento em que obtivermos o domínio dos relacionamentos e entidades, 
poderemos traçar um primeiro diagrama E-R, que nos servirá de base para as etapas seguintes. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.2 – Especificação de relacionamentos 
 
 
 
 
ESPECIFICAÇÃO DE 
RELACIONAMENTO 
Verbos: possíveis relacionamentos. 
Obter o tipo de relacionamento visualizado. 
Analisar as entidades aos pares. 
Para cada relacionamento encontrado 
Questionar: 
• É necessário? 
• É útil? 
• É redundante? 
• Se redundante, retirar? 
• Qual a finalidade? (documentar) 
 17 
Modelagem de Dados 
Observa-se que neste ponto ainda não determinamos quais atributos compõem as 
entidades e tão pouco os atributos, caso os relacionamentos sejam compostos. 
Para se obter os relacionamentos, inicialmente são analisadas as entidades aos pares, 
verificando-se a existência de algum relacionamento (verbo) referindo-se a algumas delas, ou 
melhor, entre as duas. 
Não existe, neste momento, a preocupação de que estejam realmente diferenciados os 
relacionamentos e sua validade no momento, mas formam, a base para as etapas seguintes. 
 
 
5.2. Definição de atributos e valores 
 
Uma vez montado o diagrama Entidade-Relacionamento, devemos, então, identificar 
as propriedades de entidades e de relacionamentos, que são de interesse para a aplicação que 
estamos desenvolvendo. Numa primeira etapa, vamos apenas associar os atributos os atributos 
relativos e conhecidos das entidades e dos relacionamentos já delineados. No processo de 
definição de atributos, vamos muitas vezes, nos valer da Análise de Relacionamentos e das 
considerações de variação temporal dos dados no sistema. 
Questione sempre se o usuário tem interesse e condições de manter o atributo por ele 
definido. Sempre que for definido um atributo, devemos documentar o porque de sua 
existência, assim como os valores limites de seu domínio e suas restrições. É muito 
importante também considerar os atributos similares, ou seja, atributos idênticos em entidades 
distintas, que possuem a mesma nomenclatura e significados diferentes. 
 
 
5.2.3 Variação temporal 
 
Para cada entidade definida, como seus atributos delineados, devemos perguntar: 
� Quais de seus atributos se transformarão com o tempo? 
� Precisamos armazenar dados históricos deste atributo? 
� Se positivo, em que período de tempo ou através de quantas alterações? 
 
 18 
Modelagem de Dados 
Toda vez que uma decisão de armazenar o histórico de atributo for tomada, 
determina-se implicitamente um relacionamento de 1 para muitos, entre a entidade que 
contém o atributo e a entidade que irá conter o histórico deste atributo. Existe, então, uma 
tabela dependente contendo toda a data em que houve alteração do atributo e o valor do 
atributo a partir de cada data (no mínimo). 
 
 
Exercício de Modelagem 
 
Construção de um diagrama E-R 
Construir um diagrama E-R para administradora de condomínios: 
Premissas: 
� Um condomínio é formado por diversas unidades habitacionais. 
� Cada unidade habitacional pertence a um proprietário, o qual pode ser proprietário 
de várias unidades. 
� Cada unidade pode estar alugada. 
� Toda pessoa (Proprietário ou Locatário) possui um código, um nome e um 
endereço. 
� Toda unidade possui um código que a identifica no condomínio. 
� Um condomínio é identificado por um código e um endereço. 
� Entre os proprietários de um condomínio, um é o síndico. 
 
 
 
 
 
 
 
 
 
 19 
Modelagem de Dados 
5.4. Análise de Relacionamentos 
 
5.4.1. Análise de Relacionamentos 1 para 1 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.3 – Análise de relacionamentos 1:1 
 
Sempre que é detectado um relacionamento de 1 para 1, a questão é saber se as duas 
entidades são realmente distintas ou se elas podem ser unidas. 
Se possuem a mesma chave primária, há uma forte razão para unir as entidades em 
uma só. 
No quadro de entidades acima, observa-se que as entidades PRODUTO e ESTOQUE 
possuem seguramente a mesma chave, logo, podemos visualizar as informações todas em uma 
só entidade. 
 
Exemplo 
Se tivermos, como no quadro acima, entidade MÁQUINA e outra entidade MISTURA 
DE COMBUSTÍVEL, cada máquina tem sua própria mistura de combustível, e cada mistura 
relaciona-se com uma e somente uma máquina. Consequentemente, a mistura de combustível 
é um atributo de máquina. 
 
 
 
 
ANÁLISE DE RELACIONAMENTO 1:1 
POSSUI 
 
PRODUTO 
 
ESTOQUE 
1 1 
USA 
 
MÁQUINA 
MISTURA DE 
COMBUSTÍVEL 
1 1 
Cod–Produto 
Descrição 
Preço 
Cod–Produto 
Quantidade 
 20 
Modelagem de Dados 
Se as duas entidades forem realmente distintas, o relacionamento se dará através de 
um elo explícito, ou seja, uma chave ESTRANGEIRA. 
Ao projetar, devemos analisar a possibilidade de o relacionamento 1 para 1 
futuramente tornar-se um relacionamento 1 para muitos. 
O exemplo da figura 5.4 mostra duas possibilidades de relacionamento. A estrutura de 
atributos proposta à entidade DIVISÃO, no primeiro desempenho, permite que, no futuro, um 
EMPREGADO possa vir a gerenciar mais de uma divisão. 
Já o segundo não permitiria. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.4 – Análise de relacionamentos 1:1 
 
 
 
 
 
 
ANÁLISE DE RELACIONAMENTO 1:1 
Codigo_Unidade 
Nome_Divisao 
Id_Empr_Gerente 
Orçamento 
DIVISÃO 
Codigo_Unidade 
Nome_Divisao 
Orçamento 
DIVISÃO 
Id_Empregado 
Nome 
Endereço 
Telefone 
PESSOAL 
Id_Empregado 
Nome 
Cod_Unidade_GER 
Endereço 
Telefone 
PESSOAL 
Permite que o 
impresso seja no 
futuro GER de mais 
divisões 
 21 
Modelagem de Dados 
5.4.2. Análise de relacionamentos 1 para muitos 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.5 - Análise de relacionamentos 1:N 
 
Este é um tipo de relacionamento mais fácil para análise. 
A chave da entidade UM faz parte da entidade MUITOS (pode ser parte da chave ou 
não). 
Seja o exemplo: VENDA e ITEM DE VENDA 
Se considerarmos agora que um cliente pode ter muitas vendas sendo feitas a ele, o 
código do cliente deverá fazer parte da tabela VENDAS, mas não necessariamente da chave, 
pois o número de venda identifica claramente a venda. 
No mesmo exemplo, um cliente está associado a “n” vendas, e cada venda a “n” itens 
de venda. 
Deve, então, o código do cliente ser incluído também na tabela item de venda? 
Obrigatoriamente não, pois se quisermos saber quais clientes pediram ou compraram 
um determinado produto, podemos pesquisar todas as ocorrências de itens de venda para o 
produto em pauta obtendo o número de suas vendas, e, posteriormente, pesquisar em vendas 
quais os clientes que as efetuaram. 
Mas simplificaria a programação e a pesquisa, se colocássemos o código do cliente 
 
 
 
 
ANÁLISE DE RELACIONAMENTO 1:N 
CONTÉM 
 
VENDA 
 
ITEM_VENDA 
1 N 
POSSUI 
 
CLIENTE 
1 N 
VENDA 
Nº DA VENDA 
DATA_VENDA 
CÓDIGO_VENDEDOR 
chave Nº DA VENDA 
NUM_ITEM 
COD_ITEM 
QUANTIDADE 
chaveCOD_CLIENTE 
NOME 
ENDEREÇO 
chave NUM_VENDA 
DATA 
COD_VENDEDOR 
COD_CLIENTE 
chave 
 22 
Modelagem de Dados 
também em item de venda. 
O ZIM permite que se estabeleça esta ligação de relacionamento entre as três 
entidades, já que ele pode acessar diretamente um relacionamento do tipo: 
 
 
CLIENTE POSSUI VENDA CONTÉM ITEM_DE_VENDA 
 
FIND CLIENTE POSSUI VENDA CONTÉM ITEM_DE_VENDA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.6 – Análise de relacionamento 1:N 
 
 
 
 
 
 
 
 
 
 
 
QUAIS OS ITENS QUE UM CLIENTE 
COMPRA? 
CLIENTE POSSUI CONTÉM 
NUM_VENDA 
DATA 
COD_VENDEDOR 
COD_CLIENTE 
VENDA 
ITEM DE 
VENDA 
NUM_VENDA 
NUM_ITEM 
COD_PRODUTO 
QTDE_PRODUTO 
???????????? 
ID_CLIENTE 
NOME 
ENDERECO 
COD_CLIENTE 
 23 
Modelagem de Dados 
5.4.3. Relacionamentos muitos para muitos 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.7 – Análise de relacionamentos N:N 
 
Em todo relacionamento muitos para muitos, a pergunta que se faz é: QUEM 
REFERENCIA QUEM? 
Este caso sempre pode ser resolvido com o desdobramento em 2 relacionamentos 1 
para muitos e a criação de uma entidade que faça a associação entre as duas. A chave da 
entidade associação é a concatenação ou combinação das chaves das duas entidades originais. 
Em nosso exemplo, temos a situação em que FORNECEDOR fornece muitos 
PRODUTOS e qualquer PRODUTO poderá ser fornecido por vários fornecedores. 
Pergunta-se então: Qual a entidade que possui esta concatenação de chaves? 
Que atributos constituem esta entidade? 
Que elementos podem ser determinados se soubermos que estamos lidando com 
determinado PRODUTO de um FORNECEDOR específico? (Qual a razão desta ligação?) 
Damos, então, o nome de ORIGEM DO PRODUTO a esta entidade. 
Um PRODUTO poderá estar disponível em diferentes fornecedores, com preços e 
prazos diferenciados, e um fornecedor poderá ofertar diversos produtos. 
Aqui, aproveitamos para lembrar mais uma característica saudável do ZIM: 
 
 
 
 
ANÁLISE DE RELACIONAMENTO N:N 
POSSUI ORIGINA 
ORIGEM 
PRODUTO 
FORNECED PRODUTO 
FORNECED 
N FORNECE PRODUTO 
N 
 24 
Modelagem de Dados 
Trabalhando-se com o ZIM, não é necessário este desdobramento, já que o mesmo 
implementa diretamente o relacionamento de muitos para muitos. 
 
 
5.5. Formas Normais e o Processo de Normalização 
 
O conceito de normalização no modelo relacional foi introduzido por Codd em seu 
primeiro artigo sobre o modelo relacional de 1970, onde estabeleceu o que posteriormente 
chamou-se de 1ª Forma Normal. 
A teoria da Normalização está montada em torno deste conceito de formas normais. 
Uma tabela (entidade) está numa determinada forma normal se ela atender a um conjunto 
específico de restrições. 
A normalização, então, é um processo formal passo a passo que examina os atributos 
de uma entidade com o objetivo de evitar anomalias na inclusão, exclusão e alteração de 
tuplas específicas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.8 – Normalização 
 
 
 
 
 
Codd 1970 – 1ª Forma Normal 
 1972 – 2ª e 3ª Forma Normal 
Fagin 1974 – 4ª Forma Normal 
 
Formas Normais: Conjunto de Restrições 
 
 
 
Objetivo: Estabilidade do modelo de dados 
 
NORMALIZAÇÃO 
Normalização: Processo Formal de Análise 
 de atributos de uma Entidade 
 25 
Modelagem de Dados 
5.5.1. Anomalias 
 
Anomalia de Inclusão: Ao ser incluído, um novo cliente já deve estar relacionado a 
uma venda. 
Anomalia de Exclusão: Se um cliente for excluído, poderão ser perdidos todos os 
dados de vendas. 
Anomalia de Alteração: Se a faixa de preço de determinada classe de produto for 
alterada, deverá ser verificada toda a relação para serem feitas múltiplas alterações. 
 
 
5.5.2. Redundância de Armazenamento 
 
Este processo causa a simplificação dos atributos de uma entidade, colaborando 
significativamente para a estabilidade do modelo, reduzindo-se consideravelmente as 
necessidades de manutenção. 
Para ser obtida esta estabilidade, é necessário que os atributos de uma mesma 
entidade sejam analisados de forma a verificar se a tabela é ou não normalizada. Para isso, 
devemos submeter essa tabela aos critérios de primeira, segunda , terceira e quarta formas 
normais. 
 
 
5.5.3. Dependência Funcional 
 
Conceituação 
Para fornecer subsídios de entendimento, iniciaremos introduzindo o conceito de 
Dependência Funcional. 
Um atributo depende funcionalmente de outro quando informa algo intrinsicamente 
ligado ao outro. 
Para visualizarmos, utilizaremos o nosso exemplo com a entidade MÉDICO. 
Nome e especialidade são dependentes funcionalmente de CODM, porque para cada 
valor de CODM está associado um e somente um valor de Nome e Especialidade. 
 26 
Modelagem de Dados 
Uma dependência funcional é uma forma especial de restrição de integridade. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.9 – Dependência Funcional 
 
Dependência Total 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.10 – Tipo de dependência 
 
 
 
 
 
 
 
 
 É uma restrição de integridade 
 
DEPENDÊNCIA FUNCIONAL 
Em uma tabela todos os atributos que não são chave 
dependem de todos os atributos chaves e de nenhum 
outro. 
Código do 
Médico 
Especiali-
dade 
 
Nome 
 
 
 
 Dependência Total 
 
TIPOS DE DEPENDÊNCIA 
Chave 
Dependência 
Parcial 
N_func Cód 
Curso 
Descr 
Curso 
Avaliação Data 
Conclusão 
 27 
Modelagem de Dados 
Um atributo é dependente total de outro se ele for funcionalmente dependendo do 
outro e não dependente de um subconjunto de outro. 
No nosso exemplo, podemos observar que o atributo AVALIAÇÃO é dependente 
total da chave composta por N_func + Codigo_Curso. Já o atributo Descr_Curso tem 
dependência parcial desta chave, pois depende somente de parte dela, ou seja: 
CÓDIGO_CURSO 
 
 
5.6. Formas Normais 
 
Dentro do que se tem do mundo real de casos de normalização, a obtenção de uma 
entidade na 3ª Forma Normal é recurso suficiente para obtermos modelos de estrutura de 
entidades e atributos estáveis e dentro de padrões de integridade. 
 
 
5.6.1. 1ª Forma Normal 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.11 – 1ª forma normal 
 
 
 PEDIDO Nº__________ 
SISTEMATIC LTDA PRAZO DE ENTREGA 
CLIENTE: 
ENDEREÇO: 
CIDADE: 
INSCRIÇÃO C.G.C. 
 
 
U.F.: 
INSCRIÇÃO ESTADUAL: 
 
 
 
CÓDIGO 
PRODUTO 
UNIDADE QTDE 
DESCRIÇÃO DOS 
PRODUTOS 
VALOR 
UNIT. 
VALOR 
TOTAL 
 
 
 
 
 
 
 28 
Modelagem de Dados 
Em determinados documentos que posteriormente serão registrados em entidades de 
uma base de dados, existem algumas informações que se repetem, retratando ocorrências de 
um mesmo fato (atributo) dentro de uma única tupla (linha) vinculados a sua chave de 
identificação (chave primária). 
A aplicação da 1ª Forma Normal sobre a tabela da entidade PEDIDO, ainda não 
normalizada, conforme as figuras 5.11 e 5.12, criará a entidade PEDIDO-ITEM, que herdará 
os atributos repetitivos e destacados da entidade PEDIDO. 
Observa-se nas figuras apresentadas que, em uma análise detalhada, encontramos no 
documento um grupo repetitivo de informações sobre os produtos solicitados em um pedido. 
Estes atributos que observamos multivalorados caracterizam-se por não possuírem um 
número de ocorrências claramentedefinido, uma vez que nem sempre estarão preenchidas 
todas as linhas do documento. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.12 – 1ª Forma Normal 
 
Portanto, definimos a 1ª Forma Normal na formalidade de uma regra simples: 
Em uma entidade na 1ª Forma Normal para cada chave há a ocorrência de uma 
informação de cada atributo. 
Codd estabeleceu um procedimento para a 1ª Forma Normal que é decompor a 
entidade não-normalizada em tantas entidades quanto for o número de atributos 
 
 
 
 
1ª FORMA NORMAL 
Atributos multivalorados 
Número de ocorrências indefinido 
PRAZO ENT CLIENTE ENDER Nª PEDIDO UF CGC INS.EST CIDADE 
 
 
 
 
UNIDADE QUANT DESCRIÇÃO COD-
PRODUTO 
VALOR 
TOTAL 
VALOR 
UNIT 
 29 
Modelagem de Dados 
multivalorados. 
 
 
5.6.2. Resultado Obtido sobre Pedido após a Aplicação da 1ª Forma Normal 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.13 – Resultado da aplicação da 1ª forma normal 
 
Os quadros apresentados a seguir resumem o resultado da aplicação da 1ª Forma 
Normal sobre a entidade PEDIDO. 
Obtivemos, então, neste instante a visão diferenciada de 2 entidades, sendo que a 
segunda entidade, e recém criada, apresenta um relacionamento estabelecido por chave 
concatenada com a entidade que o originou. 
Neste momento, podemos obter um diagrama de Entidade-Relacionamento entre as 
duas entidades resultantes da 1ª Forma Normal. Este relacionamento caracteriza-se por ser do 
tipo 1 para muitos. 
 
 
 
 
 
 
 
 
APÓS A 1ª FORMA NORMAL 
NUMERO 
PEDIDO 
PRAZO 
ENTREGA CODIGO 
CLIENTE ENDER 
CIDADE 
UF 
CGC 
INSCRIÇÃO 
ESTADUAL 
NUMERO 
PEDIDO 
COD 
PRODUTO 
UNIDADE 
QTDE 
DESCRIÇÃO 
VALOR 
UNITÁRIO 
VALOR 
TOTAL 
 30 
Modelagem de Dados 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.14 – Diagrama E-R após 1ª forma normal 
 
 
5.7. 2ª Forma Normal 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.15 – 2ª forma normal 
 
 
 
 
DIAGRAMA E-R APÓS A 1ª F.N. 
Relacionamento estabelecido por chave concatenada 
(referência lógica) 
 
PEDIDO 
CONTÉM ITEM-DO-
PEDIDO 
 
 
 
 
2ª FORMA NORMAL 
Analisar atributos em 
dependência parcial 
CÓDIGO 
DO 
PRODUTO 
 
QUANT 
 
DESCRIÇÃO 
NÚMERO 
DO 
PEDIDO 
 
VALOR 
UNITÁRIO 
 
UNIDADE 
 
VALOR 
TOTAL 
CHAVE 
 31 
Modelagem de Dados 
Então, podemos afirmar que uma relação R está na segunda Forma Normal (2FN) se, 
e somente se, ela estiver na 1FN e todos os atributos não-chave forem totalmente dependentes 
da chave primária. 
Devemos, então, verificar, já que a entidade possui chave composta, se todos os 
atributos restantes apresentam dependência da chave. A dependência parcial é uma situação 
particular onde um atributo depende somente de parte da chave concatenada. 
Com a finalidade de tornar ainda mais estável o modelo, aplicamos a 2ª Forma Normal 
sobre a entidade, criando novas entidades que herdarão a chave parcial e observarão os 
atributos dependentes desta chave parcial. 
Conforme podemos observar no quadro abaixo, criamos uma entidade para 
PRODUTO, a qual herdou a chave parcial código_produto. Os atributos UNIDADE e 
DESCRIÇÃO também foram passados para a nova entidade. 
Então, a 2ª Forma Normal é a normalização de uma entidade que apresenta uma chave 
concatenada, e que seus atributos, apresentam dependência total desta chave. 
Em uma entidade na 2ª Forma Normal não existem atributos com dependência parcial 
da chave. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.16 – Entidades normalizadas na 2ª forma normal 
 
 
 
 
 
 
 
ENTIDADES NORMALIZADAS NA 2ª F.N. 
Nova entidade 
criada 
Chave 
NUM 
PEDIDO 
CODIGO 
PRODUTO 
QUANTIDA
DE 
VALOR 
UNITÁRIO 
VALOR 
TOTAL 
CODIGO 
PRODUTO 
UNIDADE DESCRIÇÃO 
 32 
Modelagem de Dados 
5.8. 3ª Forma Normal 
 
Na definição da tupla de uma entidade podem ocorrer casos em que um atributo não 
seja dependente direto da chave ou de parte dela, mas sim, dependente de um outro atributo 
constante da tupla e não-chave. 
A aplicação da 3ª Forma Normal sobre este exemplo poderá ser visualizada nos 
quadros seguintes que apresentamos. 
Chamamos este fato de DEPENDÊNCIA TRANSITIVA. É uma forma de 
dependência indireta de chave. 
A aplicação da 3ª Forma Normal obriga a retirada dos atributos não-chaves, os quais 
migrarão para a tupla de outra entidade, caso sejam dependentes de atributo-chave 
estrangeira, ou simplesmente eliminados se forem resultado de cálculo efetuado a partir de 
outro atributo. 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.17 – Entidades normalizadas na 3ª forma normal 
 
Definimos a 3ª Forma Normal como a normalização de uma tupla de forma que não 
existam atributos com dependência transitiva com a chave, ou seja, não existam elementos 
intermediários entre a chave e o próprio atributo. 
 
 
 
 
ENTIDADES NORMALIZADAS – 3ª F.N. 
Se o atributo é resultado de cálculo é eliminado 
 
Se depende de atributo não-chave cria-se uma nova entidade que herdará o 
atributo com dependência transitiva 
 
NOME 
CURSO 
 
CÓDIGO 
CURSO 
 
CÓDIGO 
FUNCIONÁRIO 
 
NOME 
 
CÓDIGO 
CURSO 
CÓDIGO 
DO 
PRODUTO 
 
QUANT 
 
VALOR 
UNITÁRIO 
 
PEDIDO 
 33 
Modelagem de Dados 
5.9. 4ª Forma Normal 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.18 – 4ª forma normal 
 
Quando na 3ª Forma Normal, determinadas tuplas podem conter atributos não-chaves 
que apresentam múltiplos valores correspondentes à mesma chave. 
Chamamos esta anomalia de múltiplos valores para um mesmo valor de chave de 
DEPENDÊNCIA MULTIVALORADA. 
A aplicação da 4ª Forma Normal causará o desmembramento da tupla em “n” 
entidades, sendo “n” igual ao número de atributos que apresentam esta multivaloração. 
A situação da entidade com a anomalia de dependência multivalorada causa uma 
redundância acentuada do atributo na entidade e resulta em ocupação desnecessária dos 
membros da entidade, podendo causar situações críticas de indisponibilidade de área para 
novos desenvolvimentos. 
 
 
 
 
 
Fornecedor Peça Comprador 
F1 P1 C1 
F1 P2 C1 
F1 P3 C2 
F2 P1 C2 
F2 P4 C3 
F2 P2 C1 
 
DEPENDÊNCIA MULTIVALORADA 
 34 
Modelagem de Dados 
Solução 
Após a 4ª Forma Normal 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.19 – Normalização após a 4ª forma normal 
 
 
5.10. Roteiro para Normalização de Dados 
 
Tabela (Entidade) Não-normalizada 
Desmembrar a tabela em um ou mais tabelas sem grupos repetitivos de itens. 
Designar um ou mais atributos como Chave Primária das novas entidades. 
Tabela na 1ª forma normal 
Verificar a existência de atributos parcialmente dependentes da chave. Criar novas entidades, 
que absorverão os atributos com dependência funcional parcial, herdando a chave parcial 
Tabela na 2ª forma normal 
Verificar se não existem atributos dependentes de outros atributos não-chave. 
Destacar atributos dependentes de uma chave estrangeira e incorporar na tabela da chave 
estrangeira ou criá-las, se não existir. Eliminar os atributos obtidos por cálculos a partir de 
outros atributos da mesma tabela 
Tabela na 3ª forma normal 
 
Efetuar a normalização da entidade funcionário apresentada na figura 5.20 
 
 
 
 
NORMALIZAÇÃO APÓS A 4ª F.N. 
A 4ª Forma Normal causará o desmembramento da entidade 
em “n” entidade,onde “n” é igual ao número de atributos 
multivalorados. 
Codigo_Fornecedor 
Código_Peça 
 
FORNECEDOR – PEÇA 
Código_Fornecedor 
Código_Comprador 
FORNECEDOR – COMPRADOR 
 35 
Modelagem de Dados 
 
 
 
 
 
 
 
 
 
 
 
 
Figura 5.20 – Exercício 
 
Utilize a tabela para a resolução do exercício. 
Entidade 
não-normalizada 
1ª forma normal 2ª forma normal 3ª forma normal 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ENTIDADE FUNCIONÁRIO 
CÓDIGO–FUNCIONÁRIO 
NOME–FUNCIONÁRIO 
DATA–ADMISSÃO 
CÓDIGO–CARGO 
VALOR–SALÁRIO 
NOME–DEPENDENTE OCORRE N VEZES 
DATA–NASC–DEPENDENTE OCORRE N VEZES 
IDADE–DEPENDENTE OCORRE N VEZES 
TOTAL–DE–DEPENDENTES 
DATA–NASC–FUNCIONÁRIO 
CÓDIGO–DEPARTAMENTO 
NOME–DEPARTAMENTO 
CÓDIGO–HABILIDADE OCORRE N VEZES 
NOME–HABILIDADE OCORRE N VEZES 
DATA–FORMAÇÃO–HABILIDADE OCORRE N VEZES 
 
 
EXERCÍCIO

Outros materiais