O documento discute os conceitos básicos do modelo relacional de banco de dados, incluindo como os dados são representados como uma coleção de tabelas relacionais, cada uma com um nome e conjunto de atributos. Também define termos-chave como relação, tupla, atributo e domínio.
1. Introdução a Banco de Dados
MODELO RELACIONAL
Iana Daya Cavalcante Facundo Passos
iana.passos@ifpb.edu.br
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
2. Foi introduzido por Codd (1970) e tem por finalidade representar os
dados como uma coleção de relações, onde cada relação é representada
por uma tabela;
Tornou-se um padrão de fato para aplicações comerciais, devido a sua
simplicidade e performance. É a base para a maioria dos SGBD que
dominam o mercado atualmente;
É um modelo lógico formal, baseado na teoria matemática das relações.
Descreve as estruturas de dados em uma forma possível de ser
processada por um SGBD;
DB2 (IBM), SQL-DS (IBM), Oracle, Informix, Ingres, Sybase entre outros.
Histórico
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
3. Conceitos Básicos
No Modelo Relacional ou MR os dados são representados num Banco
de Dados como uma coleção de tabelas (relações);
Cada tabela terá um nome, que será único, e um conjunto de atributos
com seus respectivos nomes e domínios;
Todos os valores de uma coluna são do mesmo tipo de dados.
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
4. Terminologia
Cada tabela é chamada de relação;
Uma linha de uma tabela é chamada de tupla;
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
5. Terminologia
O nome de cada coluna é chamado de atributo;
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
6. Terminologia
O tipo de dado que descreve cada coluna é chamado de domínio..
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
7. Terminologia
DESCRIÇÃO FÍSICA E SEMÂNTICA
descrição física serve para identificar o tipo e o formato dos valores
que compõem o domínio.
Ex: char(14), “(ddd)dddd-dddd”
descrição semântica serve para ajudar na interpretação de
seus valores.
Ex: “Número dos telefones do CEFET/PB”
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
9. Terminologia
Observação: o mesmo domínio pode se aplicar a vários atributos e
que os atributos de uma relação podem ser vistos como diferentes
interpretações para o mesmo domínio.
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
10. Terminologia
ESQUEMA DE RELAÇÃO
Um esquema de relação R, denotado por R(A1,A2,...,An),
é usado para descrever uma relação através da especificação de seus
atributos e domínios.
Um esquema de relação R pode também ser chamado de intenção da relação R.
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
11. Terminologia
Observação:Para uma mesma intenção pode existir mais de
uma extensão.
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
12. Terminologia
O grau de uma relação é o número de atributos que seu esquema contém.
Estudante (matrícula, nome, fone, idade, curso) grau = 5
Revista ( nome, ano, volume) grau = 3
GRAU DA RELAÇÃO
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
13. Terminologia
SNAPSHOT
Um instante (snapshot) de relação r, do esquema R(A1, A2, ...,An),
denotado por r(R), é o conjunto de n-tuplas r = {t1,t2,...,tn}.
Cada tupla t é uma lista ordenada de valores t = <v1,v2,...,vn> em que
cada valor vi, 1<= i <= n, ou é nulo ou pertence ao domínio Di = Dom(Ai).
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
16. CARACTERÍSTICAS DAS RELAÇÕES
Terminologia
Cada atributo numa relação tem um nome que é único dentro
da relação;
Todas as tuplas devem ser únicas (conjunto).
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
17. Chaves
CHAVES DE UMA RELAÇÃO
No Modelo Relacional convencionou-se sublinhar os atributos que
compõem a chave primária.
Ex.: Empregado (Matrícula, Nome, Endereço, Função,Salário)
Um mesmo atributo pode ter nomes diferentes nas diversas relações
em que participa.
Ex: Empregado (Matrícula, Nome, Endereço, Função, Salário,Dep)
Departamento( CodDepart, Nome, Gerente, DataInício)
Atributos que representam diferentes conceitos podem ter o
mesmo nome.
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
18. Integridade de Entidade: Nenhum valor de chave primária poderá
ser NULO.
Chaves
RESTRIÇÕES DE INTEGRIDADE
Integridade de Chave: Toda tupla tem um conjunto de atributos que
a identifica de maneira única na relação (chave primária).
Integridade Referencial: Uma relação pode ter um conjunto de
atributos que contém valores com mesmo domínio de um conjunto de
atributos que forma a chave primária de uma outra relação.
Este conjunto é chamado chave estrangeira.
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
19. Chaves
CHAVE ESTRANGEIRA
Empregado (matric, nome,endereço, função, salário,depart)
Departamento (coddepto, nome, matricgerente)
REGRAS
Os atributos da chave estrangeira têm o mesmo domínio dos atributos
da chave primária de outra relação R2;
Um valor da chave estrangeira numa tupla t1 de R1 possui o mesmo
valor da chave primária para alguma tupla t2 em R2 ou é NULO;
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
20. Uma chave estrangeira pode referenciar-se a sua própria
relação (auto-relacionamento).
Ex.:Empregado(matrícula,nome,salário,matr_supervisor)
As restrições de integridade semânticas são especificadas através de
regras sobre o esquema do banco de dados.
Ex.: "Nenhum empregado pode ganhar mais que seu gerente"
"O número de horas que um empregado pode trabalhar em um projeto
tem de ser menor ou igual a 54 horas".
As restrições de integridade devem ser implementadas pelo SGBD.
Chaves
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
21. Operações de Atualização em Relações
INSERÇÃO
Inserir <'102', 'André', null, 'Engenheiro', '1.980', 'D2'>
Inserir <null,'Cecília',null,'Engenheiro','1.950','D1'>
Inserir <'100', 'Maria', null, 'Técnica', '950','D1'>
é aceito sem problemas
viola a restrição de chave
viola restrição de integridade de entidade
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
22. Inserir <'108', 'Mauro', 'Rua 4', 'Técnico', '980', 'B6'>
viola a restrição de integridade referencial
Operações de Atualização em Relações
O que fazer quando se detectar uma violação de integridade?
Rejeitar a inserção (podendo explicar o porquê);
Tentar corrigir a anomalia para depois inserir.
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
23. Operações de Atualização em Relações
REMOÇÃO
Remover da tabela empregado a tupla com matrícula = '100'.
remoção aceita sem problemas.
Remover da tabela empregado a tupla com matrícula = '100'.
viola a regra de integridade referencial. O que fazer com os empregados
que estão alocados neste departamento?
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
24. Operações de Atualização em Relações
O que fazer quando uma violação ocorrer numa remoção?
Rejeitar a remoção;
Dar o efeito cascata na remoção, removendo todas as tuplas
referenciadas por aquela tupla que está sendo removida;
Modificar os atributos referenciados para novos valores ou nulos
(caso não façam parte da chave primária).
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
25. Operações de Atualização em Relações
MODIFICAÇÃO
Modificar o salário do empregado com matrícula='250'
Modificar o número do departamento da tupla de empregado com
matrícula '210' para 'D1'
operação aceita sem problemas.
operação aceita sem problemas.
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
26. Modificar o número do departamento de empregado '108' para 'D9'
viola a integridade referencial
Modificar a matrícula do empregado '100' para '250'
viola regra de integridade de chave.
Operações de Atualização em Relações
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba