Você está na página 1de 8

Bases de dados

Restrições de integridade

Estrela Ferreira Cruz

Base de dados
-------------------------------------------------------------
Objetivos da aula:
• Restrições de integridade (integrity constraints)
• Apresentação do conceito.
• Objetivos.
• Tipos de integridade:
• integridade de domínio
• integridade de entidade
• integridade de referência

1
Base de dados
-------------------------------------------------------------
Restrições de integridade (constraints):
• São condições, ou regras, que devem ser verificadas
para que um elemento possa pertencer à relação
(tabela).
• São usadas para garantir a consistência dos dados de
uma base de dados.
• São usadas para garantir que os dados armazenados
seguem as regras especificadas no design da base de
dados.
• Normalmente são asseguradas/garantidas pelo próprio
SGBD.
3

Base de dados
-------------------------------------------------------------------------------
Tipo de Integridade:

• integridade de domínio - impostas pelo domínio de cada


atributo;

• integridade de entidade - não existem duas instâncias de


uma relação cujas chaves primárias tenham o mesmo valor.

• integridade de referência - o valor de qualquer chave


estrangeira de uma relação é um valor da chave primária
da relação que refere

2
Base de dados
-------------------------------------------------------------------------------
Integridade de Domínio (domínio de um atributo)

Os valores de cada atributo pertencem a um mesmo domínio;

Principais Tipos de Dados em ORACLE:

• char (tamanho) – Dados tipo texto de tamanho fixo;

• varchar2 (tamanho) – Dados tipo texto de tamanho variável;

• date – Data (incluindo hora);

• Number (P, E) – Numérico onde P é a precisão e E é a


escala.

• Number (num) – Numérico inteiro com num dígitos= num

Base de dados
-------------------------------------------------------------------------------
Integridade de entidade

Chave primária - de uma relação é um subconjunto mínimo de


atributos cujos valores permitam identificar de modo único
cada uma das instâncias dessa relação.

• Cada relação tem obrigatoriamente que ter uma Chave


Primária

• A Chave Primária tem um valor único na relação

• O valor de uma chave primária (ou mesmo de uma parte


dela) não pode ser NULL;

3
Databases
-------------------------------------------------------------------------------
Integridade de entidade: Chave Candidata

• É um atributo, ou um conjunto de atributos, que não


estando definidos como Chave Primária, identificam
univocamente um registo (são únicos – Unique Constraints);

• A Chave Candidata pode ser vista como uma regra na base


de dados;

NumAluno Nome cod_curso NCC


12345 Ana Maria 9119 75865890
1123 Artur Pereira 9119 09403493
567 Rui Silva 9119 98549850
456 Rita Martins 9119 76476225

Base de dados
-------------------------------------------------------------------------------
Integridade de referência

• Uma chave estrangeira de uma relação é um conjunto de


atributos que é chave primária de outra relação.

• O valor de uma chave estrangeira ou é vazio ou então o seu


valor tem que existir na relação onde a chave é primária
senão, não existirá correspondência.

• Por outras palavras, a relação não deverá conter nenhum


valor nas suas chaves estrangeiras que não tenha a devida
correspondência.

4
Base de dados
-------------------------------------------------------------------------------
Exemplo: tabelas aluno, curso e tipocurso
NumAluno Nome codCurso NBI
12345 Ana Maria 9119 75865890
1123 Artur Pereira 9111 09403493
567 Rui Silva 9111 98549850
456 Rita Martins 9999 76476225

CodCurso SIGLA Tipo nome


9119 EI 1 Engenharia Informática
9111 ECGM 1 Eng da Computação Gráfica e Multimédia
9999 ES 2 Engenharia de Software

Tipo Descrição
1 Licenciatura
9
2 Mestrado

Base de dados
-------------------------------------------------------------------------------
Integridade de referência
• As chaves estrangeiras são a principal razão para
falarmos de Modelo Relacional.
• Nos SGBD relacionais, para representar as
associações existentes entre as várias entidades
utilizam-se esquemas de relações em que figuram
atributos comuns.

10

5
Base de dados
-------------------------------------------------------------------------------
Outro tipo de restrições de integridade (Constraint) no
ORACLE

• Constraints NULL – Pode obrigar o preenchimento dos


valores da coluna;

• Constrainst UNIQUE – permite indicar que o valor de uma


(ou conjunto de colunas) não se repete.

• Constraints Check()- permite validar os valores dos dados


introduzidos numa coluna. Por ex. verificar que os valores
de um campo notaFinal de uma disciplina se encontra entre
1 e 20.

11

Base de dados
-------------------------------------------------------------------------------

12

6
Base de dados
-------------------------------------------------------------------------------
Exercício: Suponha o seguinte esquema de tabelas.
TipoCurso(codTipo, descricao, TotECTS)
Curso(codCurso, nome, sigla, codtipo)
Aluno(numAluno, nome, email, telefone, rua, nPorta, cPostal, dtInscricao, NIF,
NBI, codCurso)
CodPostais(cPostal, localidade)
1. Crie um novo user e uma nova connection.
2. Crie as tabelas, tendo em atenção:
a. As chaves primárias tendo em conta que o numAluno é gerado
sequencialmente.
b. A chaves estrangeiras.
c. Os campos SIGLA (curso), NIF e NBI do aluno não se podem
repetir, assim como a localidade do cPostal.
d. O totECTS de um curso deve ser superior a 90 e inferior a 200. 13

Base de dados
-------------------------------------------------------------------------------
Alguns aspetos do Modelo Relacional:

• Os nomes (ou identificadores) dos atributos que constituem o


esquema de uma relação são únicos nessa relação.

• Podem existir instâncias sem valores em alguns dos seus


atributos; neste caso o atributo diz-se opcional e o seu valor
pode ser NULL;

• A manipulação de dados trabalha com a tabela, e não registo a


registo.

• As operações de SQL são sobre tabelas.

14

7
Databases
-------------------------------------------------------------------------------
Exercise: Resolver o exercício Gestão de uma Livraria.

15

Referências:
SQL Structured Query Language, 13ª edição,
Luís Damas,
FCA – Editora de Informática,
ISBN 978-972-722-443-2

Database System Concepts, 5th Edition


Abraham Silberschatz, Henry F. Korth and S. Sudarshan
McGraw Hill, 2005
ISBN 0-07-124476-X

16

Você também pode gostar