IBD014 • Estudo Offline Completo

Modelagem de Banco de Dados - Aula Completa até Generalização e Especialização

Este material foi estruturado para você estudar sozinho, com progressão didática, exemplos reais, exemplos técnicos e exercícios resolvidos. O foco está no conteúdo já estudado em sala (Aulas 1 a 7).

Conceitos de BD Evolução dos modelos UoD e projeto MER/DER Entidade forte/fraca Generalização
Começar estudo

🧭 Roteiro do conteúdo

  1. Conceitos de Banco de Dados
  2. Evolução dos sistemas e modelos de dados
  3. Projeto de Banco de Dados (UoD, abstração, ciclo de vida)
  4. Modelos conceitual, lógico e físico
  5. MER/DER, chaves, relacionamentos e cardinalidades
  6. Entidade forte/fraca e autorrelacionamento
  7. Generalização e Especialização
  8. Banco de questões por aula
  9. Plano de revisão P1

1) Conceitos de Banco de Dados

1. Definição formal

Um banco de dados é uma coleção organizada de dados relacionados, armazenados de forma estruturada, com regras de integridade e acesso controlado por um SGBD.

2. Intuição prática

Pense em uma empresa com vendas, estoque e financeiro. Se cada setor salva dados em planilhas próprias, a empresa perde controle. Banco de dados existe para centralizar a informação e reduzir conflitos.

3. Exemplo do mundo real

O cliente muda de endereço. Com arquivos separados, Vendas atualiza e Financeiro não. Resultado: boletos enviados para endereço antigo.

4. Exemplo técnico

Cliente(id_cliente, nome, endereco)
Pedido(id_pedido, data, id_cliente)

Regra: Pedido.id_cliente referencia Cliente.id_cliente.

5. Erros comuns e como evitar

Erro comum: confundir banco de dados com sistema/aplicação.

Evite isso lembrando: banco guarda e organiza dados; aplicação usa os dados para atender o usuário.

6. Mini exercício com resolução passo a passo

Exercício: Explique por que redundância gera inconsistência.

  1. Defina redundância (mesmo dado repetido em locais diferentes).
  2. Mostre um cenário de atualização parcial.
  3. Conclua com a consequência (informações conflitantes).

Exemplo resolvido: cadastro de cliente duplicado em dois setores, apenas um atualizado.

Citações e aprofundamento teórico

Heuser (Projeto de Banco de Dados): o ponto de partida do projeto não é a tabela, é o entendimento do universo de informação e das regras de negócio. A modelagem conceitual existe para representar significado antes de implementação.

Elmasri e Navathe: dados integrados reduzem redundância e anomalias porque a organização passa a ter um esquema unificado e controlado, com restrições explícitas de integridade.

Korth e Silberschatz: um SGBD agrega vantagens de consistência, controle de concorrência e segurança, pontos que não são bem resolvidos na abordagem baseada em arquivos isolados.

Date: a qualidade conceitual do banco define a qualidade lógica e física posteriores. Em outras palavras, erro de conceito no início custa caro no fim.

2) Evolução dos sistemas e modelos de dados

1. Definição formal

Modelos de dados são formas de representar a realidade informacional. Eles evoluíram conforme as demandas de flexibilidade, escala e independência entre dado e aplicação.

2. Intuição prática

Quanto mais rígido o modelo, mais difícil adaptar o sistema a novas regras de negócio. A evolução dos modelos foi uma resposta a esse problema.

3. Exemplo do mundo real

Uma instituição que antes registrava apenas alunos passa a registrar também cursos híbridos, trilhas e turmas compartilhadas. Um modelo rígido não acompanha essa mudança.

4. Exemplo técnico

flowchart LR A[Hierárquico] --> B[Rede] B --> C[Relacional] C --> D[Orientado a Objetos] D --> E[Objeto-relacional]

5. Erros comuns e como evitar

Erro comum: achar que modelo relacional “substituiu” todos os outros.

Evite absolutismo: cada modelo responde melhor a certos tipos de problema.

6. Mini exercício com resolução passo a passo

Exercício: Qual modelo domina aplicações corporativas tradicionais e por quê?

  1. Identifique o modelo: relacional.
  2. Justifique com estrutura tabular, padronização SQL e integridade.
  3. Conecte com manutenção e escalabilidade organizacional.

Como pensar na prova: relacione evolução tecnológica com necessidade de negócio.

Leitura guiada dos autores

Korth e Silberschatz: descrevem a evolução dos modelos como resposta a limitações práticas: dificuldade de manutenção, baixa independência de dados e acoplamento entre aplicação e armazenamento.

Date: mostra que o sucesso do modelo relacional não é só histórico, é formal: o modelo possui base matemática e lógica rigorosa para representar e manipular dados com precisão.

Elmasri e Navathe: reforçam que a escolha de modelo depende de requisitos de representação e operação, mas o relacional se consolidou por equilíbrio entre clareza, poder de consulta e suporte de ferramentas.

3) Projeto de Banco de Dados (UoD, mini-mundo, abstração, ciclo de vida)

1. Definição formal

Projeto de banco é o processo de transformar necessidades informacionais do domínio em estruturas consistentes de dados. UoD (Universe of Discourse) é o recorte do mundo que será modelado.

2. Intuição prática

Se você não define o que está dentro e fora do escopo, modela tudo ao mesmo tempo e o diagrama vira um “mapa confuso”. UoD evita isso.

3. Exemplo do mundo real

Em uma clínica, o UoD pode incluir pacientes, médicos, consultas e exames. Pode deixar fora, por exemplo, folha de pagamento.

4. Exemplo técnico

Ciclo de vida simplificado:
1) Levantamento de requisitos
2) Modelo conceitual
3) Modelo lógico
4) Modelo físico
5) Implementação e validação

5. Erros comuns e como evitar

Erro comum: começar direto pela tabela sem consolidar requisitos.

Evite isso criando lista de regras do negócio antes de desenhar entidades.

6. Mini exercício com resolução passo a passo

Exercício: Defina UoD para um sistema de biblioteca.

  1. Inclua: Livro, Autor, Usuário, Empréstimo.
  2. Exclua: folha de pagamento, RH e compras da instituição.
  3. Justifique o recorte com objetivo do sistema.

Ponto-chave: projeto bom começa com escopo claro, não com SQL.

Fundamentação acadêmica

Heuser: organiza o projeto de banco como processo incremental: requisitos -> modelo conceitual -> modelo lógico -> implementação. A recomendação é evitar salto direto para código.

Elmasri e Navathe: tratam o levantamento de requisitos como etapa crítica, pois entidades, atributos e relacionamentos só fazem sentido quando ancorados em regras reais do domínio.

Korth e Silberschatz: destacam que qualidade de projeto reduz retrabalho e melhora desempenho global de manutenção do sistema.

Date: enfatiza que abstração bem construída preserva independência entre níveis, facilitando evolução futura sem quebrar toda a aplicação.

4) Modelos conceitual, lógico e físico

1. Definição formal

Modelo conceitual representa significado do domínio; modelo lógico traduz para estrutura relacional; modelo físico define implementação no SGBD.

2. Intuição prática

Conceitual responde “o que existe”; lógico responde “como organizar”; físico responde “como armazenar e otimizar”.

3. Exemplo do mundo real

Uma faculdade precisa registrar alunos e disciplinas. No conceitual, você define entidades. No lógico, cria tabelas. No físico, decide tipos, índices e constraints.

4. Exemplo técnico

flowchart TD C[Modelo Conceitual\nEntidades e regras] --> L[Modelo Lógico\nTabelas e chaves] L --> F[Modelo Físico\nTipos, índices, desempenho]

5. Erros comuns e como evitar

Erro comum: misturar decisões físicas no modelo conceitual.

No conceitual, evite detalhes como VARCHAR(120) e índices.

6. Mini exercício com resolução passo a passo

Exercício: Classifique cada item como conceitual, lógico ou físico.

  1. “Cliente tem endereço” → Conceitual.
  2. “Tabela CLIENTE com PK id_cliente” → Lógico.
  3. “Índice em nome_cliente” → Físico.

Como pensar na prova: identifique primeiro o nível de abstração pedido no enunciado.

Citações e aprofundamento teórico

Date: independência de dados é princípio central do projeto de bancos. Separar níveis não é formalismo; é mecanismo para reduzir impacto de mudanças.

Korth e Silberschatz: a arquitetura em níveis melhora administração, portabilidade e manutenção, porque decisões físicas podem evoluir sem reescrever toda regra de negócio.

Heuser: no ensino de modelagem, a distinção entre níveis evita confusão didática e melhora consistência do desenho.

Elmasri e Navathe: reforçam que o modelo conceitual deve representar semântica do domínio de forma independente de SGBD específico.

5) MER/DER: entidades, atributos, chaves, relacionamentos e cardinalidades

1. Definição formal

O MER (Modelo Entidade-Relacionamento) descreve dados e vínculos do domínio; o DER é sua representação gráfica.

2. Intuição prática

Antes de criar tabelas, você precisa enxergar “quem se relaciona com quem” e com qual obrigatoriedade.

3. Exemplo do mundo real

Em seguradora: cliente possui apólice; apólice cobre carro; carro pode participar de acidentes.

4. Exemplo técnico

erDiagram CLIENTE ||--|{ APOLICE : possui APOLICE ||--|| CARRO : cobre CARRO ||--o{ ACIDENTE_CARRO : envolve ACIDENTE ||--o{ ACIDENTE_CARRO : registra
Cardinalidade:
1:1  -> um para um
1:N  -> um para muitos
N:N  -> muitos para muitos

5. Erros comuns e como evitar

Erro comum: definir cardinalidade apenas pela intuição e não pelas regras de negócio.

Evite isso transformando frases do requisito em perguntas: “é obrigatório?”, “quantos no máximo?”.

6. Mini exercício com resolução passo a passo

Exercício: “Um aluno pode cursar várias disciplinas e cada disciplina tem vários alunos.”

  1. Identifique entidades: Aluno e Disciplina.
  2. Relacione multiplicidade: muitos para muitos (N:N).
  3. No lógico, isso vira tabela associativa (ex.: Aluno_Disciplina).

Exemplo resolvido: N:N no conceitual não fica direto no relacional; precisa de tabela intermediária.

Leitura guiada dos autores

Elmasri e Navathe: detalham estrutura do MER com precisão: tipos de atributo, participação, cardinalidade e restrições. Essa base ajuda a justificar o desenho, não apenas desenhar.

Heuser: oferece método muito prático para transformar enunciado textual em DER, perguntando "quem são as entidades?", "quais atributos as descrevem?" e "como elas se relacionam?".

Date: apesar de foco relacional, contribui para rigor conceitual ao defender modelagem sem ambiguidades semânticas.

Korth e Silberschatz: conectam modelagem com implementação, mostrando como decisões de relacionamento impactam consultas e integridade.

6) Entidade forte/fraca e autorrelacionamento

1. Definição formal

Entidade forte possui chave própria. Entidade fraca depende de outra entidade para identificação completa. Autorrelacionamento ocorre quando a entidade se relaciona com ela mesma.

2. Intuição prática

Nem todo elemento do domínio “vive sozinho”. Alguns só existem vinculados a outro, como item de pedido.

3. Exemplo do mundo real

Pedido e ItemPedido: item sem pedido não faz sentido. Em organograma, um funcionário pode supervisionar outro.

4. Exemplo técnico

Entidade forte: Pedido(id_pedido)
Entidade fraca: ItemPedido(id_pedido, numero_item)

Autorrelacionamento:
Funcionario(id_funcionario, id_supervisor)

5. Erros comuns e como evitar

Erro comum: criar PK artificial na entidade fraca sem preservar dependência com a entidade forte.

Evite isso mantendo a FK da entidade forte dentro da chave da entidade fraca quando necessário.

6. Mini exercício com resolução passo a passo

Exercício: Classifique “Dependente” em sistema de RH (depende de funcionário titular).

  1. Verifique se possui existência autônoma → não.
  2. Classifique como entidade fraca.
  3. Identifique chave composta com referência ao titular.

Como pensar na prova: pergunte “essa entidade existe sem a outra?”

Fundamentação acadêmica

Elmasri e Navathe: formalizam entidade fraca como aquela cuja identificação depende de entidade proprietária e de relacionamento identificador.

Heuser: destaca que, em modelagem didática, a principal pergunta para diferenciar forte e fraca é: "há identificação autônoma no domínio?"

Korth e Silberschatz: mostram que esse cuidado conceitual evita inconsistências no mapeamento para o modelo lógico.

Date: reforça que identidade e dependência devem ser tratadas com precisão semântica para preservar coerência relacional.

7) Generalização e Especialização

1. Definição formal

Generalização agrupa entidades específicas em uma superclasse; especialização cria subclasses a partir de uma entidade mais geral. As subclasses herdam atributos e relacionamentos da superclasse.

2. Intuição prática

Quando vários tipos compartilham informações, duplicar campos em todas as entidades gera manutenção ruim. Herança conceitual organiza isso.

3. Exemplo do mundo real

Em instituição de ensino: Pessoa pode ser Aluno, Professor e Funcionário. Todos têm nome e CPF; cada subclasse tem atributos próprios.

4. Exemplo técnico

flowchart TD P[PESSOA\ncpf, nome] --> A[ALUNO\nra, curso] P --> B[PROFESSOR\nmatricula, titulação] P --> C[FUNCIONÁRIO\nregistro, setor]
Classificações:
Total (t): toda instância da superclasse pertence a alguma subclasse
Parcial (p): pode existir instância só na superclasse
Exclusiva (x): instância pertence a apenas uma subclasse
Compartilhada (c): instância pode pertencer a mais de uma

5. Erros comuns e como evitar

Erro comum: confundir “total/parcial” com “exclusiva/compartilhada”.

Total/parcial trata cobertura da superclasse; exclusiva/compartilhada trata sobreposição entre subclasses.

6. Mini exercício com resolução passo a passo

Exercício: “Todo veículo cadastrado é ou Carro ou Moto, nunca os dois.”

  1. “Todo veículo” indica especialização total.
  2. “Nunca os dois” indica especialização exclusiva.
  3. Classificação final: total e exclusiva.

Ponto-chave: responda sempre em duas dimensões: cobertura e sobreposição.

Citações e aprofundamento teórico

Heuser: apresenta generalização/especialização como extensão importante do MER para evitar repetição de atributos e representar hierarquias reais do domínio.

Elmasri e Navathe: tratam formalmente as restrições de especialização (disjunção/sobreposição e total/parcial), fundamentais para leitura correta de enunciados de prova.

Date: ajuda a avaliar impactos no modelo relacional, principalmente quando diferentes estratégias de implementação alteram redundância e custo de junção.

Korth e Silberschatz: reforçam a análise de trade-off: simplicidade de consulta versus normalização e clareza semântica.

Base teórica pelos livros da disciplina

Para aprofundar com método, use este mapa: cada autor contribui com uma lente específica de estudo.

Heuser - Projeto de Banco de Dados

Melhor referência para processo de modelagem: levantamento de requisitos, construção do MER/DER e transição para estruturas implementáveis.

Use este livro quando o desafio for "como sair do enunciado e chegar ao diagrama correto".

Elmasri e Navathe - Fundamentos e Aplicações

Melhor referência para fundamentação conceitual formal de entidades, relacionamentos, restrições estruturais e extensões do modelo.

Use quando precisar justificar tecnicamente cardinalidades e tipos de participação.

Korth e Silberschatz - Sistemas de Banco de Dados

Melhor referência para visão de sistema: papel do SGBD, arquitetura, evolução dos modelos e integração com aplicações.

Use para responder perguntas sobre benefícios, segurança, concorrência e administração.

Date - Introdução a Sistemas de Banco de Dados

Melhor referência para raciocínio formal e precisão conceitual. Ajuda a evitar respostas vagas em prova.

Use para consolidar termos e argumentos com rigor lógico.

Banco de questões por aula (Aulas 1 a 7)

Este bloco está organizado por aula. Cada questão traz tipo, dificuldade, gabarito, justificativa e erro comum associado.

Plano de revisão P1

O P1, neste momento, concentra os temas de Conceitos até Generalização/Especialização. Próximos tópicos (normalização, SQL e álgebra relacional) ficam para a etapa seguinte da disciplina.

Roteiro de revisão sugerido

  1. Dia 1: conceitos de BD + benefícios do SGBD
  2. Dia 2: evolução dos modelos de dados
  3. Dia 3: UoD, abstração e ciclo de projeto
  4. Dia 4: conceitual/lógico/físico
  5. Dia 5: MER/DER e cardinalidades
  6. Dia 6: entidade forte/fraca e autorrelacionamento
  7. Dia 7: generalização/especialização + simulado

Checklist de domínio (salvo no navegador)

⬆ Topo