Você está na página 1de 32

16

1) MODELO LÓGICO: Notação utilizada: James Martin ( Crow fit)

As principais diferenças entre as notações de Martin e Chen:

• Os relacionamentos são representados apenas por uma linha que une as duas entidades;

• Somente relacionamentos binários;

• A notação de cardinalidade máxima e mínima é gráfica, sendo assim: o símbolo mais próximo ao
retângulo é a representação da cardinalidade máxima e o mais distante a cardinalidade mínima.

1.1 Entidades no modelo Lógico

As entidades no modelo lógico são representadas em “Caixas”, com duas divisões. Na superior ficam os
atributos que fazem parte da chave primária (primary key – PK). Na outra parte ficam os atributos e
chaves estrangeiras (foreign key – FK).

No modelo lógico é comum chamar a entidade de Tabela.

1.2 Cardinalidades no modelo lógico


A cardinalidade no modelo lógico é mais gráfica ( por símbolos ), diferente do modelo conceitual. O
quadro a seguir representa a conversão do modelo Conceitual de Peter Chen para o Modelo Lógico de
James Martim.
17

Exemplo de transposição de Cardinalidade de Modelo Conceitual para Lógico:

Atenção: a cardinalidade máxima é a mais próxima da tabela, a mínima ao lado.

1.3 Nomenclatura dos Atributos

No modelo lógico os atributos são chamados de coluna nas tabelas.

No modelo conceitual não há preocupação com os nomes dos atributos. No modelo lógico, temos que
iniciar o processo de equalização dos nomes dos atributos.
O modelo lógico é uma preparação para o modelo físico, então cada atributo deve possuir na versão final
do banco de dados um nome que ajude os desenvolvedores a identificar de forma fácil o conteúdo de
cada coluna. Sendo assim recomenda-se uma padronização dos nomes de colunas. Cada empresa adota
uma padronização para colunas. Normalmente com um prefixo e uma padronização de nome.

Segue a tabela de prefixos que usaremos nas aulas:

Prefixo Significado
Nm Nome
Cd Código
Id Identificador
Vlr Valor
Dt Data
Ds Descrição
Qt Quantidade
Hr Hora
Min Minuto
Tp Tipo
Sit Situação
Nr Número
Sig Siglas
Abr Abreviatura
18

Exemplo:

Na tabela País teríamos: cd_Pais e nm_Pais, utilizando o prefixo padrão, e depois um complemento que
melhor identifica a coluna.

Atenção: não use acentos ou caracteres especiais nos nomes das colunas!

1.4 Chave Primária - Primary Key (PK)

Uma chave primária é a coluna ou conjunto de colunas que identifica uma determinada linha em uma tabela.
A chave primária fornece uma importante forma de distinguir uma linha da outra.

Portanto, uma característica importante para definir uma chave primária é que garanta a unicidade, ou seja,

A chave primária também é conhecida com Primary Key (PK)

Recomendações sobre a chave primária:

 Pode haver mais um atributo na chave primária, e pode ainda haver mais de uma combinação possível
que garanta unicidade. Deve-se optar pela menor combinação possível;

 Os atributos que compõem a chave primária não devem conter Strings (como nome, por exemplo);

 Visando performance do bando de dados, os atributos da chave primárias devem ser inteiros;

 A melhor opção é criar um código sequencial para compor sua PK, SGBDs tem esse recurso de forma
simples;

 Evite colocar na chave primária, atributos que não são do domínio de seu negócio, como provavelmente
CPF. Apesar do CPF identificar univocamente um cidadão no Brasil, e eventualmente poderia ser a PK de
sua tabela de Cliente (por exemplo), esta é uma informação controlada pelo Governo, e este pode mudar
as regras. Se o fizer, irá afetar sua PK que eventualmente é propagada por relacionamentos por sua base.
Crie um código que está sob seu domínio.
19

Como diagramar uma tabela com sua chave primária:

Exemplo:

Essa entidade será diagramada da seguinte forma:

Atenção: alguns diagramadores colocam uma coluna à esquerda para identificar as chaves primárias (PK) e a
chave estrangeira (FK). Caso seu diagramador não tenha esse recurso, coloque a direita entre parênteses.

1.5 Chave Estrangeria – Foreign Key (FK)

A chave estrangeira define o relacionamento entre duas tabelas. Na sua origem ela é uma PK que é
“propagada” para outra tabela, ou a qualifica.

Observe o exemplo:
20

Ao diagramar esse modelo com o que já abordamos, teremos:

O lógico deve indicar fisicamente os relacionamentos entre as tabelas, sendo assim a PK da entidade
qualificadora passa a ser FK na entidade qualificada. Então temos:

ANTEÇÃO: Considerando as cardinalidades MÁXIMAS: A chave primária sempre sai do lado 1 e vai para o
lado N.

A chave primária de País passa a ser uma chave estrangeira em Estado. Este é o “relacionamento” físico entre
as tabelas. Como ficam em forma tabular:
21

2. REGRAS DE MAPEAMENTO CONCEITUAL PARA LÓGICO

2.1 Mapeamento Máximos 1 para N

Nestes casos a Chave Primária da Entidade 1 é propagada para a entidade N, como uma chave estrangeira.
22

2.2 Mapeamento Máximos N para N

Nestes casos deve-se criar uma entidade Associativa. Nesta nova entidade recebe o nome das duas entidades
base, ou, um nome que a represente no mundo real. Esta nova Entidade Terá como chave primária as chaves
de suas entidades Base.

2.2.1 Mapeamento Máximos N para N – tratamento da chave primária

ATENÇÃO: A chave primária deve ser única. Logo deve-se analisar casos em que exista a necessidade de
inserir um código local na chave primária da entidade Associativa para torna-la única.

Imagine o exemplo:

Uma Pessoa Lê vários livros, e uma Livro pode ser lido por várias pessoas. Toda vez que a pessoa lê o livro
deve-se registrar a data de início e fim da Leitura. A seguir temos o modelo conceitual:

Este modelo conceitual gera o seguinte modelo lógico:


23

No modelo apresentado a pessoa pode ler o livro apenas uma vez, uma vez que o modelo apenas aceita uma
combinação de Pessoa com livro. Para permitir que a pessoa leia o mesmo livro mais que uma vez, devemos
inserir um terceiro elemento na chave primária.
24

2.3 Mapeamento Entidades Fracas

Nos casos de Entidades Fracas, a entidade Forte propaga a chave primária para a Entidade fraca, contudo a
chave estrangeira deve fazer parte da chave Primária da Entidade fraca. A Chave primária da entidade fraca é
formada pela chave da entidade Forte + a chave candidata da fraca ( mapeamento de uma entidade máximo
para máximo N).
25

2.4 Mapeamento de Atributos multivalorados – Caso 1

Neste casos devemos analisar o que foi mapeado. Inicialmente, este atributo multivalorado é do domínio da
entidade? O atributo “nasce” ou está subordinado a ela? Ou não?

Caso a resposta seja Não. O atributo multivalorado não é domínio da entidade. Isso significa que pertence a
outra entidade, que deve ser mapeada.

Exemplo:

Neste exemplo, Diretor e Atores não são


domínio do Filme.
Eles existem fora da existencia do filme.
Logo, são entidades que se relaconam com
Filme.
O Modelo conceitual aceita essa
diagramação, o Lógico não.

Solução:

Mapeando para o Modelo Lógico temos:


26

Este modelo ainda será alterado.


27

2.5 Mapeamento de Atributos multivalorados – Caso 2

O atributo multivalorado é finito e com quantidade pequena, nestes casos, deve-se criar atributos nestas
quantidades.
28

3. As Formas Normais ( Normalização)

Esta técnica foi proposta por E. F. Codd em 1972, sendo composta inicialmente por 3 formas: primeira forma
normal (1NF), segunda forma normal (2NF) e terceira forma normal (3NF).

Posteriormente, devido a algumas anomalias, Boyce e Codd criaram uma variação da 3NF, conhecida por

como forma normal de Boyce-Codd (FNBC).

Normalização consiste em uma técnica para depurar modelo de banco de dados, por meio da eliminação e
inconsistências na modelagem. Ao testar o modelo em cada uma das formas normais, o modelo resultante é
mais confiável e rápido.

A normalização não consegue terminar todas as inconsistências no modelo de dados, mas irá reduzir suas
ocorrências.

Principais anomalias que as formas normais mapeiam: certos problemas, tais como:

 grupos repetitivos (atributos multivalorados) de dados;


 variação temporal de certos atributos, dependências funcionais totais ou parciais em relação a uma
chave concatenada;
 redundâncias de dados desnecessárias;
 perdas acidentais de informação;
 dificuldade na representação de fatos da realidade observada;
 dependências transitivas entre atributos.

Atenção: muitos das anomalias já são corrigidas pelo método proposto nesta apostila. Mas, sempre é
importante testar!

1FN

Uma relação está na primeira forma normal se todos os seus atributos são monovalorados e atômicos.

Vem desta regra a importância do tratamento proposto pelo caso de Atributos Multivalorados.

Então precisamos checar se a tabela:

2 Possui chave primária;


3 Não possui grupos repetitivos;
4 Todos os seus atributos são atômicos, ou seja, não precisa ser decomposto.

Ações a tomar:

 Determinar o atributo que será a chave primária;


 Tornar todos atributos atômicos;
 Identificar e transformar grupo(s) repetitivo(s) em uma(s) nova(s) entidades.

Exemplo:
29

Aqui temos que eleger a chave primária de pedido que será NrPedido. As repetições se dão devido aos
produtos nos pedidos. Logo vamos dividir a tabela em duas.

Como resultante teremos duas tabelas: uma delas referente ao pedido e outra referente aos produtos no
pedido.

2FN

Uma relação está na segunda forma normal quando duas condições são satisfeitas:

1. a relação estiver na primeira forma normal;


2. todos os atributos primos dependerem funcionalmente de toda a chave primária.

Analisando a tabela de Pedido, temos que o nome do cliente não se refere ao nrPedido e sim a CPF:
30

Na segunda tabela de Pedido Produto, temos que o valor do Unitário se refere ao Produto, já a Qtde do
Produto, se refere ao Produto no Pedido. Novamente, devemos separar as tabelas:

Exercício: desenho este modelo na versão Conceitual e na Lógica


31

3FN

Uma relação está na terceira forma normal quando duas condições são satisfeitas:

 Está na segunda forma normal;


 Se nenhum dos campos foram determinados transitivamente pela chave primária.

Resumindo: um atributo não chave não pode depender de outro atributo não chave.

Vamos a um exemplo: Nesta tabela temos dados de veículos. Nela temos que cada veículo tem marca e
modelo. Contudo a marca qualifica o modelo não o veículo.

Para a correção temos que fazer as divisões das Tabelas:


32

Exercício: crie o modelo Conceitual e o Modelo lógico do exemplo da 3FN.


33

4FNBC

Uma relação está na terceira forma normal quando duas condições são satisfeitas:

 Está na 3FN;
 Não pode haver superposição;
 Na tabela não pode conter duas ou mais chaves candidatas;
 Determinante: X → Y (X determina Y, ou Y depende de X);
 Dependência Funcional Trivial: X → Y, só que Y é subconjunto de X. O que está em Y, já está em X.

Vamos ao exemplo: na tabela a seguir temos uma relação de alunos, cursos e instrutores de curso.

Temos aqui que há uma sobreposição, entre Aluno/Curso e Curso/Instrutor.

Sendo assim, devemos desvincular estas dependências, decompondo a tabela.


34

Exercício: crie o modelo Conceitual e o Modelo lógico do exemplo da FNBC.


35

Exercício especial: Aplique a Normalização


36

Lista Exercício 5: Vamos refazer os exercícios das Listas anteriores, convertendo os


modelo Conceituais em Lógicos.

1) Um prato é composto por diversos ingrediente, sendo usados no mínimo 3 ingrediente em cada
prato. Um ingrediente pode estar na receita de diversos pratos, ou nenhum.

2) Um produto possui um e somente um Engenheiro responsável. Um engenheiro pode ser


responsável por diversos produtos.

3) Uma pessoa possui apenas uma Nacionalidade. Em nosso sistema cada registro de Nacionalidade
nem sempre está associado a uma pessoa, mas pode estar associada a muitas.

4) Um País contém muitas Ufs. Cada UF pertence a apenas um País. Cada UF contém muitos
municípios, sendo que cada município pertence a apenas uma UF. Cada município possui vários
bairros, sendo que cada bairro está contido a apenas um município.
37

5) Uma licença para taxista pode pertencer a apenas uma pessoa física, ou pode momentaneamente
estar vaga, sem uma pessoa física. Uma pessoa física pode ter no máximo 1 licença para taxista,
mas nem toda pessoa física possui uma licença para taxista. 6) Um Filme possui um gênero
obrigatoriamente. Sendo que um gênero pode ou uma estar associado a um filme.

7) Um Filme possui vários personagens, sendo que deve possuir pelo menos 1 papel. Um papel é
possuído por apenas um filme.

8) Um médico possui uma ou várias especialidades. Cada especialidade pode estar associada a um
ou vários médicos.

9) Um funcionário trabalha em apenas um departamento. Um departamento tem diversos


funcionários e pelo menos um trabalhando nele. Contudo um Funcionário pode ser o gerente do
departamento, mas cada departamento possui apenas um gerente.
38

10) Uma música é composta por um ou vários artistas, sendo que um artista pode ou não compor
músicas.

11) Uma marca de Carros comercializa diversos modelos. Cada modelo pertence a apenas uma marca.

12) Um Zoológico possui diversas áreas de exibição. Cada área de exibição possui um conjunto de Famílias
de Animais (Répteis, Pássaros, Grandes Felinos, etc) em exibição. Por segurança as raças ficam
agrupadas em apenas uma área do Zoológico. Cada família de Animais possui várias raças.

13) Um Sistema operacional de Celular pode ser instalado em diversos Modelos de Celular. Cada Modelo
de Celular executa apenas um sistema Operacional. Todo Modelo de Celular possui apenas uma marca.
Sendo que cada Marca pode possuir muitos Modelos de celular.
38

14) A Fatec possui 28 Salas. Cada sala possui de 1 a 25 máquinas cada, sendo que cada máquina não é fixa
na sala, podendo ser transferida. Deve-se saber quando a máquina é colocada na sala e quando ela e
retiradas ( data de entrada e data de saída). Não há limites de vezes para uma máquina ser transferidas
em Sala. Obs.: uma máquina pode estar fora de uma sala em manutenção temporariamente.

15) Produto

Uma empresa controla os seguintes dados sobre seus produtos: Código, descrição, Peso, Volume,
Unidade de medida do Peso e Unidade de medida do volume, Preço de Custo e Preço de Venda.

Determinados produtos podem ser compostos por outros Produtos da mesma empresa. Essa relação
deve ser controlada. Exemplo:

Produto X é composto por 5 unidades do Produto B e 1 do Produto A.


39

15) Monitor
Uma faculdade adota o sistema de Monitorias concedendo 15% desconto na mensalidade para os
Monitores. Todos os Monitores são alunos matriculados na Faculdade. Cada Monitor é responsável
por um conjunto de alunos em um disciplina. A monitoria é valida por um ano letivo.

Obs. Lembre-se que um Aluno Monitor em determinada Disciplina, pode ser Aluno Monitorado em
outras disciplinas.

17) Cartório
No momento do registro de nascimento o escrevente do cartório deve cadastrar a nova pessoa no
sistema. É importante associar a nova pessoa ao seu pai e mãe ( que também são pessoas registradas
no sistema). Prever que a pessoa cadastrada pode não ter Pai e/ou Mãe ( órfão).

São dados da pessoa: Nome, data nascimento, sexo, Cidade de Nascimento, UF Nascimento, Pai,
Mãe, e Hospital Nascimento.
40

18) Empresa
Uma empresa mantem os seguintes dados de seus funcionários: Nome, dt Nascimento,
Cidade/Estado Nascimento, Cargo, Salário, dt Admissão e dt demissão. Cada funcionário pode possuir
um Supervisor. O Supervisor também é um funcionário. Um Supervisor pode ser responsável por
diversos funcionários. Nem todo funcionário é supervisor.

19) Cartório Casamento


São dados da pessoa: Nome, data nascimento, sexo, Cidade de Nascimento, UF Nascimento, Pai,
Mãe, e Hospital Nascimento.
Em um cartório de casamento devem ser controlados os dados referentes a situação cível de Pessoas.
A situação cível pode ser: Casada, Divorcio, Viúvo ou União Estável. A data inicial e final da Situação
deve ser cadastrada.

20) Pré-Requisito
Uma Faculdade deve controlar as disciplinas que são pré-requisito para outras disciplinas. Sobre a
disciplina sabe-se: Código, Descrição, Carga horária, Ementa. Uma disciplina pode possuir ou não um
conjunto de disciplinas pré-requisito.
41

21) Curso
Uma empresa de treinamento oferece diversos cursos. Sobre os cursos sabe-se: titulo, descrição,
preço e carga horária. Os cursos podem ser vendidos separadamente ou em pacotes. Um pacote
de cursos é composto por dois ou mais cursos. Em um pacote cada cursos possui um desconto
especial.

22) Projetos
Um empresa de construção Naval possui diversos projetos em andamento. Sobre o projeto sabe-se:
Código, Cliente, Data de Inicio, Data de emprega, Preço Final, Descrição Projeto, Engenheiro
Responsável pelo Projeto. Para melhor administrar o Projeto Principal, esse é dividido em diversos
Subprojetos. Os dados de controle dos subprojetos é mesmo de Projeto principal.

23) Filme
Um possui diversos papéis. Cada papel pertence a apenas um filme. Cada papel possui nome, qtde
de tempo em cena e descrição do personagem. Sobre o Filma sabe-se o Título, ano de filmagem, ano
de lançamento, seus diretores.

Lembretes: um filme possui direção geral, direção fotografia, direção de figurino, Direção de Arte,
direção de Som, Direção de efeitos Especiais, entre outras. Sendo que mais de uma pessoa pode ser
responsável por uma direção. Como também uma pessoa pode acumular mais de uma direção.
42

24) Seguradora
Uma seguradora deve controlar os dados de seus clientes que são pessoa física, tais como nome, cpf, data
de nascimento, habilitação, profissão, Nacionalidade e telefones de contato ( DDI, DDD, NR e Operadora).
A Apólice de Seguro somente existe para um veículo. Contudo um veículo pode ter diversas apólices na
seguradora ( no decorrer do tempo). Cada Apólice possui um cliente que a possui, que necessariamente não
é o dono do veículo.
Todo veículo possui uma pessoa física que é dona do veículo., que necessariamente não é o dono da apólice.
Os dados referentes ao veículo devem ser armazenados. Cada veículo possui um ou mais condutores,
e, sobre esses deve-se armazenar os seguintes dados: nome, idade e parentesco com o cliente. Os
condutores são cadastrados para o carro segurando somente.
Cada apólice pode ou não possui registro de acidentes(sinistros). Os dados de um veículo são data,
local, descrição, condutor.

25) NF
Uma nota fiscal de venda possui os seguintes atributos:
Empresa Emissora, Número da NF, Tipo de NF, data emissão, valor total e cliente.
Uma Nota fiscal possui de um a vários produtos. Cada produto na NF possui: quantidade vendida,
percentual de desconto e valor total(valor produto – desconto).
Transponha-os em um modelo de banco de dados. Crie os atributos para as entidades envolvidas.
43

26) Funcionários
Uma empresa possui mantem os seguintes dados sobre seus funcionários: Nome, data Nascimento,
CPF, RG, sexo, endereço, telefone residencial e celular, e cargo.
Um empregado trabalha em um e somente um departamento. Contudo um empregado é o gerente
do departamento. Cada departamento possui apenas um gerente.
O Salário é associado ao cargo. Sobre o cargo sabe-se: descrição, sigla, salário e qualificações.
Um funcionário pode possuir dependentes. Um dependente deve ser um familiar. Não há limite para
a quantidade de dependentes para um Empregado. Sobre o dependente deve-se manter os seguintes
dados: nome, grau de parentesco, data nascimento, sexo, CPF e RG. Um dependente pertence a
apenas um empregado.

27) Financiamento
Um Financiamento possui um Nr de contrato, um data de início, qtde de parcelas, valor do
financiamento.
Todo financiamento é ligado a uma pessoa física, com nome, cpf, data de nascimento, sexo,
nacionalidade, profissão, Empresa Em que trabalha, salário e Endereço, bairro, Cidade e UF de
Residência.
Ao ser gerado o financiamento são geradas também todas as parcelas de pagamento. Cada parcela
pertence a apenas um financiamento. Cada parcela possui um número única, valor da parcela, valor
de desconto da parcela, valor de multa da parcela, valor pago na parcela, data do pagamento da
parcela e o banco em que a parcela será paga.
43

28) Cartão de Crédito


Uma pessoa física pode possui um ou vários cartões de crédito. Cada Cartão de crédito possui
bandeira, valor de limite de gastos, data de validade de CVV de validação.
Cada cartão possui suas faturas, emitidas uma a cada mês. Cada fatura pertence a apenas um cartão
de crédito.
Cada Fatura possui despesas incluídas nelas. Cada despensa possui um empresa na qual foi feita,
uma data de lançamento, um valor e a parcela (se for o caso).
Cada Fatura possui ainda seu valor de emissão, data de vencimento, valor pago, valor de multa,
data de pagamento e banco onde foi pago.

29) Tabela de Preços

Em uma loja todos os produtos existentes podem passar por variações de preços. O preço pode
variar para maior ou menor por um período de tempo. Deve-se manter registro desta variação.
Exemplo: um produto A tem um preço de R$10,00 de 1-1-2019 até 31-3-2019. Depois de 1-4-2019 a
30-04-2019 passa a custar R$11,00. Sendo que desde 1-5-2019 passou ao valor de R$ 10,50.
Sobre o produto sabe-se seu Código único, descrição, peso, volume, Empresa Fabricante e %Imposto.
44

30) Hospital:

Construa um MER para um hospital com um conjunto de pacientes e um conjunto de médicos. Cada
paciente passa por atendimento por um médico em uma determinada data, e deve conter o
diagnóstico, peso/altura/pressão sanguínea do paciente no momento.
O atendimento pode gerar exames associados. Cada exame deve conter data de execução, imagens
(se for o caso), resultados e laudo. Um exame pode ser realizado por diversos pacientes.
Sobre o exame, se efetuado, deve-se saber qual o equipamento utilizado para o mesmo.
O atendimento também pode gerar procedimentos. Sobre esses deve-se registrar o material
utilizado, bem como o pessoal de enfermagem que o executou.
Sobre os Pacientes sabe-se: Nome, CPF, RG, Convenio Médico (se existir), cor olhos, cor pele, data
de nascimento, sexo, telefones e Tipo sanguíneo.

31) Hotel
Um cliente pode hospedar-se N vezes em um hotel, no quarto que ele desejar.
Um quarto pode ser locado N vezes por diversos cliente;
Existem categoria para os quartos do hotel ( presidencial, luxo, standard, Super Luxo e Estudante);
O Hotel disponibiliza serviços e produtos nestes serviços;
Em cada hospedagem o cliente utiliza serviços e ou produtos diversos do hotel;
Existe uma tabela de preços para os serviços e produtos e ela deve ser usada para registar o valor
praticado pelo hotel no momento do consumo.
Crie um modelo que possibilite obter o custo de uma hospedagem.
45

32) Pedido de Material

Um funcionário pode fazer um ou diversas solicitações de material. Sobre o material sabe-se: código
único, descrição, peso, volume, fabricante e gênero. Cada solicitação de material pode possuir de
um a vários materiais, e um material pode estar em nenhuma ou diversas solicitações de materiais.
Sobre cada solicitação sabe-se: Número único, data de emissão e valor total solicitado.
A cada materialXSolicitação Material é analisado e aprovado por um funcionário do Departamento
de compras, que deve aprovar ou não a solicitação .

Você também pode gostar