Bases de Dados (CC2005), Dep. Ciência de Computadores, FCUP
Eduardo R. B. Marques, DCC/FCUP
Chaves primárias:
Chaves externas:
Operação | Violação |
---|---|
INSERE FUNCIONÁRIO(ABCDEF, Roberto Pires, CP, 12345678,...) | Integridade de domínio para FUNCIONÁRIO.NumCC: ABCDEF não é um número. |
INSERE FUNCIONÁRIO(12345678, Roberto Pires, CP, 22444552,...) | Integridade de chave para FUNCIONÁRIO: 12345678 identifa um funcionário já existente (José Silva). |
INSERE FUNCIONÁRIO(23884312, Roberto Pires, CP, 12345679,...) | Integridade referencial: o supervisor com NumCC=12345679 não existe. |
INSERE ESPAÇO(NULL,Null All Night, ...) | Integridade de entidade: NULL não pode ser usado como valor para chave primária. |
REMOVE ESPAÇO(CP) | Integridade referencial: vários funcionários referem-se ao espaço com código CP. |
REMOVE FUNCIONÁRIO(12345678) | Integridade referencial: funcionário 12345678 (José Silva) é supervisor de 22444552 (Roberta Rodrigues) |
REMOVE FUNCIONÁRIO(18923444) | Integridade referencial: funcionário 18923444 (Fátima Lopes) é gestor do espaço MH e supervisor de 10345553 (Roberta Rodrigues) |
ACTUALIZA FUNCIONÁRIO(22444552, Espaço → XPTO) | Integridade referencial: espaço com código XPTO não existe. |
ACTUALIZA ESPAÇO(CP,Nome → NULL) | Integridade de domínio: Nome não é um atributo opcional (relembrar isso dos requisitos). |
ACTUALIZA ESPAÇO(MH,Gestor → 12345679) | Integridade referencial: funcionário 12345679 não existe. |
Para ser mais fácil, resolver por partes como sugerido no enunciado.
Considerando 1º entidades-tipo
Notar que:
Considerando depois relacionamentos, alterações a amarelo
Mapeamento: