Você está na página 1de 22

MODELO LÓGICO (RELACIONAL)

Aula nr 7

Mauro Ribeiro Introduçãa a Base de Dados 1


MODELO LÓGICO
• Modelo lógico
– É a próxima etapa do projecto de base de dados
• Actualmente, grande parte dos sistemas de
base de dados utiliza o modelo relacional

• Uma base de dados relacional é composto por:


– Tabelas (também denominadas relações)

Mauro Ribeiro Introduçãa a Base de Dados 2


Conceitos Básicos
• TABELA
– Estrutura bi-dimensional composta por linhas
(tuplas) e campos (ou atributos).

Mauro Ribeiro Introduçãa a Base de Dados 3


CHAVE PRIMARIA (PK- Primary Key)

• Chave Primaria (PK)


– Atributo através do qual seja possível identificar
determinado registro.
– não pode ser repetida, o conjunto de valores que
constituem a chave primária deve ser único dentro
de uma tabela.

Mauro Ribeiro Introduçãa a Base de Dados 4


Tipos de Chaves Primarias

• Chave primaria simples


– apenas um atributo (campo) compõe a chave
primária
• Chave primaria composta
– mais de um atributo compõe a chave primária

Mauro Ribeiro Introduçãa a Base de Dados 5


CHAVE UNICA (Unique)
• Chave Unica (Unique)
– Utilizada quando determinado campo não deve ser
repetido e não é chave primária.
– Aumenta a consistência da base de dados
• Exemplo:
– Num cadastro de funcionários cada um recebe um
código único (PK) mas para maior segurança e
consistência podemos optar que o campo NUIT
também seja único, evitando que o mesmo
funcionário seja cadastrado duas vezes.

Mauro Ribeiro Introduçãa a Base de Dados 6


Exemplo:

NUIT

Mauro Ribeiro Introduçãa a Base de Dados 7


CHAVE ESTRANGEIRA (FK –
Foreign Key)
• Chave Estrangeira (fk – foreign key)
– Utilizada quando queremos que o valor de um
atributo seja validado a partir do valor de atributo
de outra tabela.
– Criamos assim uma relação de dependência (um
relacionamento) entre as tabelas.
• Exemplo:
– Antes de efectuar a alocação de um funcionário em
um departamento é necessário que o departamento
em questão conste na tabela de departamentos.

Mauro Ribeiro Introduçãa a Base de Dados 8


Exemplo

Mauro Ribeiro Introduçãa a Base de Dados 9


RELACIONAMENTOS
• Relacionamentos
– Associação estabelecida entre campos comuns de
duas tabelas.

– Dessa forma permitimos o estabelecimento de


correspondência entre registros de diferentes
tabelas.

Mauro Ribeiro Introduçãa a Base de Dados 10


CLASSIFICAÇÃO DE
RELACIONAMENTOS
• Os relacionamentos apresentam a seguinte
classificação quanto à sua cardinalidade:
– Relacionamento um-para-um (1:1)
– Relacionamento um-para-muitos (1:N)
– Relacionamento muitos-para-muitos (N:N)
• No modelo logico
– não é possível efectuar Relacionamento muitos-para-
muitos de forma directa
– para tal, deve-se construir uma terceira tabela com as
chave primária composta de dois campos e as chaves
estrangeiras provenientes das duas tabelas originais.

Mauro Ribeiro Introduçãa a Base de Dados 11


NOTAÇÃO RESUMIDA PARA
MODELOS LÓGICOS
• Observe o exemplo a seguir:

– Departamento (CodDept, Nome)


– Funcionario (CodFunc, Nome, NUIT, CodDept)
CodDept referencia Departamento

Mauro Ribeiro Introduçãa a Base de Dados 12


Exemplo:
• A notação resumida acima representa o seguinte
relacionamento entre as tabelas Departamento e
Funcionario:

– Observe que através da notação resumida não é


possível determinar se o relacionamento é do tipo 1:1
ou 1:N
Mauro Ribeiro Introduçãa a Base de Dados 13
INTEGRIDADE DE DADOS
• Integridade de Dados
– Impor a integridade de dados garante a qualidade
dos dados em uma base de dados.
– Os dados devem refletir correctamente a realidade
representada pela base e também devem ser
consistentes entre si.

Mauro Ribeiro Introduçãa a Base de Dados 14


INTEGRIDADE DE DOMINIO
• Integridade de Dominio
– Zela pelos valores ideais e necessario para um atributo
– Para isso definimos algumas regras de validação por
meio de expressões compostas de valores constantes.
• Exemplos:
– Não permitir um stock negativo
– Impedir uma data de nascimento superior à data actual
– Não permitir que o valor de um produto seja negativo

Mauro Ribeiro Introduçãa a Base de Dados 15


INTEGRIDADE DE ENTIDADE
• Integridade de Entidade
– Tem o objectivo de validar os valores permitidos a
partir de valores já inseridos na própria entidade.
– Após uma “auto-consulta” a entidade vai permitir
ou não a gravação do novo registro.
• Exemplos:
– Não permitir duas pessoas com o mesmo NUIT
– Impedir o aluguar uma Filme que já está alugado

Mauro Ribeiro Introduçãa a Base de Dados 16


INTEGRIDADE REFERENCIAL
• Integridade Referencial
– Zela pela consistência dos registros de uma
entidade a partir de valores provenientes de outras
entidades
– isto é, determinado registro vai “depender”
directamente de um registro de outra tabela.

Mauro Ribeiro Introduçãa a Base de Dados 17


Exemplo:
• Exemplos:
– Um registro em uma tabela pai pode ter um ou
mais registros em uma tabela filho.
– Um registro em uma tabela filho sempre tem um
registro coincidente em uma tabela pai.
– Para a inclusão de um registro em uma
determinada tabela filho, é necessário que exista
um registro pai coincidente.
– Um registro pai só poderá ser excluído se não
possuir nenhum registro filho.

Mauro Ribeiro Introduçãa a Base de Dados 18


CONSTRAINTS (RESTRICOES)
• Constraints (Restricoes)
– Observe a seguir as principais constraints ou
restrições utilizadas nas bases de dados relacionais
– principalmente durante o processo de criação das
tabelas, para implementar os tipos de integridade
anteriormente descritos:

Mauro Ribeiro Introduçãa a Base de Dados 19


CONSTRAINTS (RESTRICOES)

Mauro Ribeiro Introduçãa a Base de Dados 20


NOMENCLATURA DE TABELAS
E DE CAMPOS
• Os sistemas de gerenciamentos de bases de dados
geralmente impõem certas restrições quanto aos
caracteres válidos para denominar tabelas,
campos (colunas), bem como outros objectos da
base de dados.
• Observe a seguir o que deve ser evitado:
– Não utilizar caracteres especiais (excepto o underscore
“_”);
– Começar com uma letra e não com um número;
– Evitar acentuação e “ç”;
– Não utilizar espaços.

Mauro Ribeiro Introduçãa a Base de Dados 21


Fim!

Obrigado

Mauro Ribeiro Introduçãa a Base de Dados 22

Você também pode gostar