Modelação de bases de dados relacionais

A maioria dos Sistemas de Informação está baseada em Bases de Dados e, para isso, é
necessário escolher os dados a serem guardados, a estrutura desses dados e as relações entre
eles.
À escolha dos dados a serem guardados, a definição da sua estrutura e das relações entre eles
chama-se Modelação de Dados.
A ferramenta mais usada na Modelação de Dados é o Diagrama de Entidades-Relacionamentos
(Diagramas ER)

Processo da modelação de uma base de dados

1. Levantamento de Requisitos

  • Identifique as necessidades do sistema e os dados que precisam ser armazenados.
  • Converse com os stakeholders para entender processos, regras de negócio e fluxos de informação.

2. Modelagem Conceitual

  • Utilize o Modelo Entidade-Relacionamento (ER) para descrever entidades (objetos relevantes, como Cliente ou Produto), seus atributos (características, como nome ou preço) e relacionamentos (ligações entre entidades, como “compra”).
  • Exemplo de entidades e relacionamentos:
    • Entidades: FUNCIONÁRIO, DEPARTAMENTO, PROJECTO
    • Relacionamentos: FUNCIONÁRIO trabalha em PROJECTO, PROJECTO pertence a DEPARTAMENTO.

3. Modelagem Lógica (Modelo Relacional)

  • Transforme o modelo ER em tabelas relacionais:
    • Cada entidade dá origem a uma tabela.
    • Cada atributo dá origem a uma coluna.
    • Defina chaves primárias (identificadores únicos, como CPF ou ID).
    • Relacionamentos são representados por chaves estrangeiras (foreign keys) ou tabelas auxiliares, especialmente em relações muitos-para-muitos.
  • Exemplo:
    • Tabela FUNCIONÁRIO (NumFunc, Nome, Salário, IdDep)
    • Tabela DEPARTAMENTO (IdDep, Nome, Gerente)
    • Tabela TRABALHA_PARA (NumFunc, IdProj, Horas).

4. Normalização

  • Aplique as formas normais para eliminar redundâncias e garantir integridade dos dados:
    • 1ª Forma Normal (1FN): Elimine grupos repetitivos, cada campo deve conter um único valor.
    • 2ª Forma Normal (2FN): Elimine dependências parciais em tabelas com chaves compostas.
    • 3ª Forma Normal (3FN): Elimine dependências transitivas entre atributos não-chave.

5. Modelação Física

  • Defina os tipos de dados para cada coluna (INT, VARCHAR, DATE, etc.).
  • Implemente restrições de integridade (NOT NULL, UNIQUE, CHECK).
  • Crie índices para melhorar o desempenho das consultas.
  • Utilize a linguagem SQL para criar as tabelas e relacionamentos no SGBD escolhido.

6. Testes e Validação

  • Insira dados de teste e verifique se as restrições e relacionamentos funcionam corretamente.
  • Execute consultas para validar a integridade e a eficiência do modelo.
  • Documente o modelo e mantenha um dicionário de dados.
  • Utilize diagramas ER para facilitar a comunicação com a equipa.
  • Reveja o modelo periodicamente conforme mudanças nos requisitos.