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
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
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

Modelo Relacional

  • 1.
    Introdução a Bancode 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 porCodd (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 ModeloRelacional 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 decada coluna é chamado de atributo; IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
  • 6.
    Terminologia O tipo dedado 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 ESEMÂ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
  • 8.
    Terminologia DESCRIÇÃO FÍSICA ESEMÂNTICA IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
  • 9.
    Terminologia Observação: o mesmodomí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 Umesquema 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 mesmaintençã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 deuma 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
  • 14.
    Terminologia CARACTERÍSTICAS DAS RELAÇÕES Aordem das tuplas e dos atributos não têm importância; IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
  • 15.
    Terminologia CARACTERÍSTICAS DAS RELAÇÕES Todoatributo possui valor atômico; IFPB - Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
  • 16.
    CARACTERÍSTICAS DAS RELAÇÕES Terminologia Cadaatributo 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 UMARELAÇÃ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 estrangeirapode 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çãoem 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çãoem 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çãoem 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çãoem 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úmerodo 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