modelo relacional
TRANSCRIPT
Introdução a Banco de Dados
MODELO RELACIONAL
Iana Daya Cavalcante Facundo Passos [email protected]
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
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
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
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
Terminologia
O nome de cada coluna é chamado de atributo;
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
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
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
Terminologia
DESCRIÇÃO FÍSICA E SEMÂNTICA
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
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
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
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
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
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
Terminologia
CARACTERÍSTICAS DAS RELAÇÕES
A ordem das tuplas e dos atributos não têm importância;
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
Terminologia
CARACTERÍSTICAS DAS RELAÇÕES
Todo atributo possui valor atômico;
IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
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
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
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
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
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
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
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
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
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
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