DEV Community

Cover image for Design de uma Base de Dados Modular

Design de uma Base de Dados Modular

As aplicações possuem várias tabelas, cada uma ligada a um domínio específico.

Uma boa prática é organizar a base de dados por módulos, alinhados a esses domínios.

Conceitos

  • Base de Dados Modularizada: Base de dados dividida em módulos que representam áreas específicas do sistema.
  • Schema: Conjunto de objectos de uma base de dados, organizados de forma lógica.
  • Objectos do Schema: Tabelas, views, triggers e funções que fazem parte do schema.

Equivalência entre Módulo e Schema

  • A opção adequada para representar os módulos é a utilização de Schemas.
  • Cada módulo é representado por um schema na base de dados.
  • Cada schema contém seus próprios objectos, como views, tabelas, triggers e functions.
  • Ao construir queries complexas, é crucial considerar o schema onde a tabela está localizada.

Passos para a criação

  • Criar uma base de dados.
  • Configurar os ajustes iniciais.
  • Criar os schemas necessários.
  • Criar as tabelas, views, triggers e funções em cada schema.
  • Se necessário, definir as regras de acesso específicas para cada schema.

Inicialização

  • Ler os scripts SQL de cada diretório.
  • Verificar se os scripts existem antes de executar.
  • Executar os scripts na ordem correta.
  • Executar os scripts dentro de uma transação.
  • Iniciar os scripts ao abrir a aplicação.
  • Registar logs do progresso e erros.

Vantagens da Criação de Schemas

  • Organização
  • Modularização da Base de Dados
  • Separação de Responsabilidades
  • Navegabilidade
  • Reusabilidade de Código
  • Segurança Aprimorada
  • Aprimoramento na Colaboração

Desafios

  • Complexidade nas Consultas.
  • Verbosidade no Código.
  • Manutenção da Consistência entre módulos
  • Padronização e Consistência na Nomenclatura.
  • Treinamento da Equipa.

Código Fonte:

LinkedIn: https://www.linkedin.com/in/ortiz-david

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Top comments (0)