No PostgreSQL, conforme mostrado nesta questão , no PostgreSQL, você pode criar uma regra que permite que determinada linha seja única durante determinado intervalo de tempo/período (por exemplo, você pode inserir preços diferentes em um determinado item, desde que nenhuma dessas entradas tenha período sobreposto (data de início/término)).
No entanto, agora estou tentando projetar um aplicativo com possibilidade de usar não apenas Postgres, mas MySQL/MariaDB e MS SQL. Em ambos os RDBMS (AFAIK) não há tal função para fazer isso. Minha pergunta é:
- Devo apenas impor essa exclusividade no aplicativo?
- Se possível, qual seria o método equivalente no MySQL/MariaDB e MSSQL?
Obrigado, estou ansioso por suas ideias
Se você projetar um aplicativo que pode adaptar diferentes RDBMSes, é melhor não usar um recurso que dependa de um determinado RDBMS, a menos que ele possa reduzir a complexidade geral do código. Caso contrário, isso complicará o controle de versão e o processo de distribuição.
Exemplo de MySQL. Lógica de gatilho é usada.
violino