2.4. Restries de integridade Uma base de dados est num estado de integridade se contm apenas dados vlidos. Os dados armazenados devem estar de acordo com a realidade Empregado (Emp#, Nome, Categoria, Salrio , Dep#)
No pode ser negativo
Emp# 1 2 3 4
Nome Categoria Antnio Sousa Programador Ana Amaral Programador Analista Carlos Silva Operador
Dep# 5 6 7 5
Restries de integridade so regras, que definem a validade dos dados Por exemplo, para a relao anterior: - O campo Nome no pode ser nulo - O Salrio tem que ser superior ao valor do salrio mnimo nacional - A Data de nascimento tem que ser maior que 01-01-1920 e menor que 01-01-2000 !! . Estas regras vo fazer parte da definio da tabela.
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
63
Apontamentos de BD I
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica Base de Dados I H. Proena, J. Muranho, P. Prata
. Quando um dado inserido, alterado ou apagado o SGBD vai verificar se as regras definidas so respeitadas. As regras do exemplo anterior denominam-se restries de Integridade de domnio So regras que se aplicam aos atributos de uma dada tabela, definindo o domnio de cada atributo.
Integridade de entidade
Emp# 1 2 3 2
Dep# 5 6 7 5
Um campo que chave primria no pode ter valores duplicados (nem ter valor nulo)
- Ao declararmos um atributo como chave primria da relao o SGBD no deixa que a relao tenha dois tuplos com o mesmo valor nesse atributo
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
64
Apontamentos de BD I
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica Base de Dados I H. Proena, J. Muranho, P. Prata
Integridade referencial Restrio de integridade que relaciona duas relaes Empregado Emp# Nome 1 Antnio Sousa 2 Ana Amaral 3 Jos Costa 4 Carlos Silva Categoria Programador Programador Analista Operador Salrio 1000 1000 2000 500 Dep# 5 6 7 5 Data_Nasc 20-03-1980 22-03-1970 12-04-1964 20-08-1980
O atributo Dep# na tabela Empregado chave estrangeira (ou externa) sendo chave primria na tabela Departamento Se, se indica que Dep# chave estrangeira da relao Empregado ento cada valor do Atributo Dep# na tabela Empregado tem obrigatoriamente que existir na tabela Departamento. O que acontece quando se tenta apagar na tabela Departamento o Departamento cujo Dep# = 5 ? - Ou o SGBD no deixa apagar - Ou apaga o registo e depois apaga na tabela Empregado todos os Empregados cujo nmero de departamento 5 (apagamento em cascata)
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
65
Apontamentos de BD I
Universidade da Beira Interior Cursos: Engenharia Informtica, Ensino da Informtica, Matemtica Aplicada e Matemtica /Informtica Base de Dados I H. Proena, J. Muranho, P. Prata
Regras de negcio Restries de integridade mais complexas que no podem ser definidas na estrutura da base de dados. So verificadas pelos programas de aplicao. Exemplos . O salrio de um empregado no pode diminuir, s aumentar . Um empregado no pode ganhar mais do que o seu chefe ...
_______________________________________________________________________________________ http://www.di.ubi.pt/~pprata/bd.htm
66
Apontamentos de BD I