2.2. Nulidade do item de dado
Outro tipo de restrição refere-se a um item de dado aceitar ou não um valor nulo. Por exemplo, a entidade Aluno não deve permitir que se cadastre um aluno deixando o seu respectivo nome em branco, ou seja, o item de dado Nome é obrigatório. Na mesma entidade, o aluno pode não estar matriculado em nenhuma turma e em nenhuma série, portanto, esses dois itens de dados devem permitir que os seus conteúdos sejam nulos (vazios).
2.3. Integridade referencial
Um terceiro tipo de restrição é denominada integridade referencial. Neste tipo de regra, um item de dado só deve aceitar os valores previamente definidos em uma outra entidade. Veja por exemplo o caso da Disciplina na entidade Histórico Escolar, não é permitido ao usuário escrever qualquer informação neste item de dado, ele não pode escrever “educação física”; somente pode escolher entre as opções preestabelecidas na entidade Disciplina. Caso ele queira utilizar “educação física”, será necessário que essa disciplina seja cadastrada previamente na entidade Disciplina antes de poder ser utilizada no cadastro do histórico escolar. Saiba+
A integridade referencial também tem um comportamento interessante quando tratamos de atualização de dados. Ao atualizar um dado qualquer, todos os lugares onde esse dado aparece também serão atualizados. Veja um exemplo.
2.4. Efeito cascata
A integridade referencial permite, ainda, o que chamamos de efeito cascata. Por exemplo, ao se excluir um aluno da entidade de Alunos, pode ser que todo o seu histórico escolar seja automaticamente excluído também, se isso não acontecesse, ficaria difícil saber a qual aluno pertencem dados da entidade Histórico escolar, ou seja, informação inconsistente e indesejada. Há também a opção de bloquear uma exclusão caso ela tenha um efeito cascata. Veja como.
A integridade referencial é muito comum quando fazemos cadastros de endereço onde devemos selecionar a sigla da UF daquele endereço. Não nos é permitido digitar quaisquer siglas que desejarmos, mas devemos escolher de uma lista previamente cadastrada.
XSuponha que na entidade Turma o nome da série seja alterado de “5ª” para “5ª série”. Todo o cadastro do histórico escolar também terá os valores de Série atualizados para o mesmo formato. Isso é importante para fazer atualizações onde um ajuste na entidade de origem atualiza os valores em todas as outras entidades que fazem uso dessa informação.
XPor exemplo, uma outra configuração possível seria impedir que um aluno fosse excluído da entidade de Aluno caso ele tenha pelo menos um registro da entidade Histórico Escolar. Para excluir o aluno, nesse caso, seria necessário apagar todo o seu histórico escolar e só depois seria possível excluir o aluno. Resumindo, quando dois itens de duas entidades distintas estão relacionados entre si, pode haver a exclusão em cascata ou o bloqueio da exclusão.
X