7. (FUNCAB / MDA- 2014) Existem diversas notações para o Modelo Entidade-Relacionamento. A notação original foi proposta por Peter Chen e é composta de entidades, relacionamentos, atributos, representados, respectivamente, por:
a) retângulos, losangos e círculos.
b) retângulos, círculos e losangos.
c) losangos, retângulos e círculos.
d) círculos, losangos e retângulos.
e) círculos, retângulos e losangos
23.(IFB / IFB- 2017) Segundo Elmasri (2011), na terminologia formal do modelo relacional, uma linha, um cabeçalho de coluna e a tabela, são chamados, respectivamente, de:
a) Registro, atributo, domínio
b) Tupla, atributo e relação
c) Registro, atributo e relação
d) Relação, domínio e registro
e) Relação, tupla e registro
1° Exemplo (Atributo identificador e atributo composto):
Seguindo as regras, o mapeamento do exemplo acima fica assim:
► Cliente (cpf, nome, rua, bairro, cidade, estado)
O atributo identificador cpf, virou a chave primária na relação; o atributo composto endereco foi mapeado de maneira que os seus componentes se tornaram campos na relação, mas o atributo mais abstrato endereço não foi mapeado.
2° Exemplo (Atributo multi-valorado):
1° opção:
► Pessoa (identidade, nome, peso)
► Telefone (identidade, numero)
Nessa primeira alternativa, o atributo multi-valorado telefone foi mapeado em uma nova relação, que recebe a chave primária de pessoa identidade e o numero que é o número de telefone. A chave primária dessa nova relação Telefone, é uma chave composta, formada pela junção de identidade e numero.
2° opção:
► Pessoa (identidade, nome, peso, tel1, tel2, tel3)
Nessa segunda alternativa foram criados três campos na relação pessoa para receber os valores correspondentes a três telefones. Essa alternativa é adequada quando se estabelece um número fixo da quantidade de números de atributos. No entanto, quando não se sabe esse número, a 1° opção se torna mais adequada.
Mapeamento de entidades Fracas:
No exemplo acima, linha mais grossa que liga Dependente representa que Dependente é uma entidade fraca, ou seja, não existe se Sócio não existir. O seu mapeamento para o modelo lógico relacional de dados fica assim:
► Socio (id, nome, idade)
► Dependente (idSocio, codigo, nome)
A chave primária da relação Dependente é composta da chave primária de Socio mais a chave primaria de Dependente, que nesse caso é o codigo. Portanto, a chave primaria de entidades fracas será sempre chave composta.
Mapeando relacionamentos
Para determinar o tipo de relacionamento em relação a cardinalidade, observa-se os máximos da mesma. Veja o link a seguir com mais detalhes para compreender o conceito de cardinalidade/multiplicidade.
Relacionamentos binários 1:1
► Moto (placa, cor, modelo)
► Motor (codigo, tipo, placaMoto)
Em um relacionamento 1:1, de acordo com os passos acima, escolhe-se uma das relações para receber a chave estrangeira, essa que é a chave primária da relação que ocorre o relacionamento. Obs: Não é regra, mas geralmente, nesses casos, escolhe-se a relação que possui participação total no relacionamento. Nesse exemplo é o motor, pois é (1,1), ou seja irá sempre existir, enquanto moto (0,1) pode ou não existir.
Relacionamentos binários 1:N
► Pessoa (cpf, nome, idade)
► Moto (placa, modelo, cpfPessoa, data, preco)
Em um relacionamento 1:N, escolhe-se a relação “N” (no caso Moto) e inclui como chave estrangeira a chave primária da outra relação. Inclui também os atributos do relacionamento.
Relacionamentos binários N:N
► Funcionario (id, remuneracao, nome)
► Projeto (codigo, nome)
► Trabalha (idFuncionario, codigoProjeto, cargaHoraria)
Em um relacionamento N:N, cria-se uma nova relação e inclui como chave estrangeira, as chaves primarias das relações em que ocorre o relacionamento. A chave primaria dessa nova relação (no caso Trabalha) será uma chave composta. Por fim, carrega também os atributos do relacionamento.
Relacionamento n-ário
► Fornecedor (codigo, nome)
► Produto (codigo, nome)
► Salao (endereco, nome)
► Fornecimento (codigoFornecedor, codigoProduto, enderecoSalao, data, quantidade)
Auto-relacionamento
► Pessoa (cpf, nome, idade, idConjuge)
Generalização / especialização
► Atendente (id, nome, idioma)
► Tecnico (id, nome, curso)
► Analista (id, nome, tipo)
Neste post foram vistos os conceitos necessários para se fazer o correto mapeamento dos diagramas do modelo conceitual para as relações do modelo lógico relacional.
Se teve dúvida em alguns dos conceitos abordados veja o post anterior, que introduz os conceitos de chave primaria, estrangeira e outros: spaceprogrammer.com/bd/introducao-ao-modelo-logico-relacional