Banco de Dados I Dicas de Modelagem Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Atributos x Entidade Relacionada: Questão: Quando modelar um objeto como sendo um atributo de uma entidade ou como sendo uma entidade relacionada? Exemplo: Vamos supor o caso de uma indústria de automóveis, como devemos registrar a COR de cada automóvel? Frederico Queiroga Banco de Dados I 2 1
Frederico Queiroga Banco de Dados I 3 1. Atributos x Entidade Relacionada: Quando o conjunto de valores de um determinado objeto é fixo durante toda a vida do sistema: modelar como atributo; Quando existem transações (inserção/exclusão) no sistema, que alteram o conjunto de valores do objeto: modelar como entidade; Frederico Queiroga Banco de Dados I 4 2
Qual seria a melhor modelagem para o exemplo? Frederico Queiroga Banco de Dados I 5 2. Atributos Opcionais x Especialização: Os atributos de uma entidade ou relacionamento podem ser identificados como opcionais, ou seja, nem toda ocorrência da entidade pode possuir um valor no atributo; Questão: Quando modelar um objeto como sendo um atributo opcional de uma entidade ou como sendo uma especialização? Frederico Queiroga Banco de Dados I 6 3
2. Atributos Opcionais x Especialização: Exemplo: Vamos supor o mesmo caso de um cadastro de funcionários que possuem vários atributos opcionais (CREA, CRM,CNH e Data de Expiração da CNH). Frederico Queiroga Banco de Dados I 7 2. Atributos Opcionais x Especialização: Quando sabe-se que a classes especializadas de atributos possuem propriedades particulares (atributos, relacionamentos e outras hierarquias de generalizações e especializações) e representam melhor a realidade do mundo real : modelar como especialização. No exemplo: a modelagem como atributo opcional esconde as diferentes categorias de empregados, neste caso a especialização é mais indicada. Frederico Queiroga Banco de Dados I 8 4
3. Atributos Multivalorados: Questão: Quando modelar um objeto como sendo um atributo multivalorado ou quando usar novas entidades e relacionamentos? Exemplo: Vamos supor o caso de um cadastro de funcionários que tenha uma série de dependentes. Como devemos representar estes dependentes? Frederico Queiroga Banco de Dados I 9 3. Atributos Multivalorados: Quando os atributos multivalorados possuem propriedades particulares (atributos, relacionamentos, generalizações e especializações): modelar como entidade relacionada a entidade que deu origem a mesma; Atenção: os atributos multivalorados podem induzir a um erro de modelagem, que é o de ocultar entidades e relacionamentos; No exemplo: observe que cada Dependente possui um nome e uma data de nascimento, portanto a opção 2 é a mais adequada para este caso. Frederico Queiroga Banco de Dados I 10 5
4. Entidade Isolada: Uma entidade isolada é uma entidade que não representa relacionamento com outras entidades. Quando modelar um objeto como sendo uma entidade isolada? Critérios de Decisão: Em principio, entidades isoladas não estão incorretas e elas muitas vezes representam a organização na qual o sistema implementado pelo banco de dados está embutida. Uma universidade tem um sistema de controle acadêmico que possui as seguintes entidades em seu DER: Alunos, Disciplinas, Cursos, Professores, etc. Frederico Queiroga Banco de Dados I 11 Entidade Isolada, exemplo: A entidade Universidade pode ser necessária caso se deseje manter no banco de dados algumas informações da própria universidade. Frederico Queiroga Banco de Dados I 12 6
- Validação Validação do Modelo: Uma vez construído, um Modelo Entidade Relacionamento (MER) deve ser validado. A validação verifica se o modelo está adequado e deve preencher alguns requisitos, tais como: Ser completo; Ser correto; Não conter redundância. Frederico Queiroga Banco de Dados I 13 - Completo Deve fixar todas as propriedades desejáveis do banco de dados. Essas propriedades devem ser validadas por alguém que conhece profundamente o sistema a ser implementado. Geralmente esta pessoa é o cliente que solicitou o sistema e/ou os encarregados pelos setores onde o sistema será implantado. O modelo deve atender às necessidades do cliente! Frederico Queiroga Banco de Dados I 14 7
- Correto Um modelo está correto quando não contém erros de modelagem. Existem dois tipos de erros: - Sintáticos - Semânticos Frederico Queiroga Banco de Dados I 15 - Correto Erros Sintáticos ocorrem quando o modelo não respeita as regras de construção de um modelo entidade-relacionamento. Alguns exemplos: Associar relacionamentos a outros relacionamentos; Especializar relacionamentos; Especializar atributos. Frederico Queiroga Banco de Dados I 16 8
- Validação Erros semânticos ocorrem quando o modelo representa uma realidade Inconsistente.Alguns exemplos de erros semânticos praticados com frequência são: Estabelecer associações incorretas: um exemplo é associar a uma entidade um atributo que na realidade pertence a outra entidade. Frederico Queiroga Banco de Dados I 17 - Validação Usar uma entidade do modelo como atributo de outra entidade. Frederico Queiroga Banco de Dados I 18 9
- Validação Um modelo deve ser mínimo, isto é, não deve conter conceitos redundantes. Os tipos de conceitos redundantes mais encontrados em MER são: relacionamentos redundantes e atributos redundantes. Relacionamentos redundantes são relacionamentos resultantes da combinação de outros relacionamentos. Frederico Queiroga Banco de Dados I 19 - Validação Atributos redundantes são atributos que derivam da execução de procedimentos de busca e/ou cálculos sobre o banco de dados. Frederico Queiroga Banco de Dados I 20 10
FIM Frederico Queiroga Banco de Dados I 21 11