Unidade C - Modelo Lógico

6.2 RESTRIÇÕES DO MODELO RELACIONAL

Até aqui vimos características de uma única tabela em um banco de dados, normalmente haverá muitas relações e as tuplas se relacionamento de diversas maneiras. Há muitas restrições em um Banco de dados para seus valores reais.

Vamos ver algumas restrições no Banco de dados Relacional:

Restrição de Domínio:

Como já foi apresentado no item anterior, cada coluna de uma tabela é representada por um atributo. Quando uma tabela é definida, em cada coluna serão atribuídos valores para os campos. Ao conjunto de valores atribuídos chamamos de domínio do campo.

Para especificação de domínio, podemos:

Tipo de Dado Descrição
INTEGER ou INT
Número positivo ou negativo inteiro. O número de bytes que pode ser utilizado varia em função do banco de dados utilizado.
SMALLINT
Mesma função do INTEGER, mas ocupa cerca da metade do espaço.
NUMERIC
Número positivo ou negativo de ponto flutuante. Normalmente, deve¬ se informar o tamanho total do campo e definir quantas casas decimais devem ser armazenadas após a vírgula.
DECIMAL
Semelhante ao NUMERIC, mas, em alguns bancos de dados, poderá ter uma maior precisão após a vírgula.
REAL
Número de ponto flutuante de simples precisão. A diferença básica é que os valores serão armazenados em representação exponencial, portanto serão arredondados para o nível mais próximo de precisão.
DOUBLE PRECISION
Número de ponto flutuante de dupla precisão. Comporta-se como o REAL, mas permite maior aproximação de resultados.
FLOAT
Número de ponto flutuante em que você define o nível de precisão (número de dígitos significativos).
BIT
Armazenamento de um número fixo de bits. O número de bits deve ser indicado, do contrário o padrão será 1.
BIT VARYING
Igual ao BIT, permitindo armazenar valores maiores. Normalmente, utiliza-se para armazenamento de imagens.
DATE
Permite armazenar datas.
TIME
Permite armazenar horários.
TIMESTAMP
Permite armazenar uma combinação de data e hora.
CHARACTER ou CHAR
Permite armazenar cadeias de caracteres (letras, símbolos e números). 0 tamanho deve ser informado e será fixo, ou seja, mesmo que não utilizado totalmente, será ocupado o espaço fisicamente. O valor definido será o tamanho máximo da cadeia armazenada.
CHARACTER VARYING ou VARCHAR
Permite armazenar cadeias de caracteres, mas com tamanho variável. Nesse caso, especifica-se o tamanho máximo da coluna. Se for utilizado menos espaço que o máximo definido, o espaço restante não será ocupado.
INTERVAL
Intervalo de data ou hora.
Tabela extraída do livro: OLIVEIRA, Celso Henrique Poderoso. SQL Curso Prático. São Paulo: Novatec, 2002

RESTRIÇÃO DE CHAVE E VALORES NULL

Restrição de Chave

No item 5, apresentamos as chaves primárias, estrangeira e candidata. Estas chaves especificam uma restrição de unicidade, na qual duas linhas diferentes serão distinguidas pela chave atribuída.

Valores Nulos

Outro exemplo de restrição é a especificação de valores nulos. Podemos especificar, com isso que um campo não poderá ser nulo.

Integridade da Entidade

Uma entidade integra estabelece os valores de chave primária não podem ser nulos, caso isso ocorra não poderemos distinguir as linhas através da chave primária.