As características das relações que discutimos no início deste módulo são as restrições inerentes ao modelo relacional e pertencem à primeira categoria. Por exemplo, a restrição de que uma relação não pode ter tuplas duplicadas é uma restrição inerente (não pode haver duas disciplinas com mesmo nome, por exemplo).
As restrições que discutimos nesta seção são da segunda categoria, a saber, restrições que podem ser expressas no esquema do modelo relacional por meio da DLL.
As restrições da terceira categoria são mais gerais, relacionam-se ao significado e também ao comportamento dos atributos, e são difíceis de expressar e impor dentro do modelo de dados, de modo que normalmente são verificadas nos sistemas de informação que realizam as atualizações no banco de dados. Como por exemplo: a data em que a nota de um aluno pode ser lançada no histórico escolar deve ser somente após o término do período de provas e antes do final do ano letivo.
Outra categoria importante de restrições é a de dependências de dados, que incluem dependências funcionais e dependências multivaloradas. Elas são usadas principalmente para testar a “qualidade” do projeto de um banco de dados relacional e em um processo chamado normalização, que será discutido em módulos futuros.
As restrições baseadas em esquema incluem:
Veremos cada uma a seguir.