Buscar

Aula 04 Modelo Relacional

Prévia do material em texto

Aula 4: Modelo Relacional
Banco de Dados I
Prof. Thales
• Um modelo é uma representação útil para um dado propósito;
• Pode ser:
– Conceitual - quando está mais próximo da visão do usuário;
– Lógico – quando está mais próximo da visão da máquina, ou 
seja mais próximo da implementação;
– Físico – indica como o computador manipula os dados 
armazenados.
Modelo Relacional
2
• O modelo relacional surgiu na década de 1970 pelo 
pesquisador Codd, porém a sua implementação 
aconteceu na década de 1980;
Modelo Relacional
3
• O modelo relacional usa um conjunto de tabelas 
para representar os dados e as relações entre elas;
• Cada tabela possui um conjunto de atributos, 
também chamados de campos;
• Os dados armazenados nas tabelas são chamados 
de registros, ou então de tuplas.
 Modelo Relacional
4
• Abaixo um diagrama para a representação dos 
dados no modelo relacional.
 Modelo Relacional
5
codigo nome cidade
1 João Aquidauana
2 Maria Anastácio
3 Célia Miranda
4 José Aquidauana
codigo cod_cliente agencia conta
1 1 1234 3345
2 2 1234 3375
3 1 1235 1261
4 4 1234 3394
• O Modelo de Dados Relacional foi introduzido por Codd;
• Entre os modelos de dados de implementação, o modelo 
relacional é o mais simples, com estrutura de dados 
uniforme, e também o mais formal;
• O modelo de dados relacional representa os dados da base 
de dados como uma coleção de relações;
• Informalmente, cada relação pode ser entendida como uma 
tabela ou um simples arquivo de registros;
• Por exemplo, a base de dados de arquivos representada 
pela figura da tela seguinte, é considerada estando no 
modelo relacional.
Modelo Relacional
6
Modelo Relacional
7
Modelo Relacional
8
• Quando uma relação é vista como uma tabela de valores, 
cada linha representa uma coleção de valores relacionados;
• Esses valores podem ser interpretados como um fato que 
descreve uma entidade ou uma instância de 
relacionamento;
• O nome da tabela e os nomes das colunas são usados para 
ajudar a interpretar o significado dos valores em cada linha 
da tabela;
Modelo Relacional
9
Relações, Domínios, Tuplas, Atributos,
Esquemas e Instâncias
10
codigo nome cidade
1 João Aquidauana
2 Maria Anastácio
3 Célia Miranda
4 José Aquidauana
cliente
Relação
Atributos
Domínio
Esquema
Instâncias
• Uma relação (no modelo relacional) representa um conjunto 
de informações relacionadas, é semelhante à entidade no 
MER;
• O esquema de uma relação é definida com seu nome e 
seus atributos;
• Exemplos:
Relação
11
codigo nome Montadora
1 Corsa Chevrolet
2 Fiesta Ford
3 Gol Volkswagen
4 Uno Fiat
veiculo
codigo nome cidade
1 José Aquidauana
2 Maria Anastácio
3 Henrique Miranda
4 Carlos Aquidauana
cliente
• Os atributos de uma relação são utilizados para 
descrevê-la;
• No modelo relacional, eles representam as colunas 
da relação;
• O conjunto dos dados de um atributo é definido 
como sendo o domínio e é determinado pelo tipo 
de dado que ele pode assumir;
Atributos e Domínio
12
• As linhas da relação, contendo dados, são as 
tuplas da relação;
• A relação Veículo a seguir possui 4 tuplas. Já a 
relação Cliente possui apenas 2 tuplas.
Tuplas
13
codigo nome montadora
1 Corsa Chevrolet
2 Fiesta Ford
3 Gol Volkswagen
4 Uno Fiat
veiculo
codigo nome cidade
1 José Aquidauana
2 Maria Anastácio
cliente
• Uma relação é constituída de um conjunto de tuplas e 
atributos distintos;
• Para uma correta distinção das instâncias de uma relação, o 
Modelo Relacional adotou o conceito de atributo chave;
• O atributo chave pode ser constituído de um ou mais 
atributos,
• e eles são encarregados de identificar e distinguir, de forma 
única e exclusiva cada tupla de uma relação. 
• As chaves de uma relação podem ser classificadas das 
seguintes formas, descritas a seguir.
Atributo Chave
14
• A chave primária é composta por um ou mais atributos capazes 
de identificar, de forma única e exclusiva, cada tupla da relação;
• Quando é constituída de mais de um atributo, ela é chamada de 
chave primária composta
• A chave primária no MR é representada colocando-se o(s) 
atributo(s) chave sublinhado(s)
Chave Primária
15
codigo codigo_montadora nome motor
101 1 Corsa 1.4
102 3 Fiesta 1.6
103 4 Gol 1.6
104 2 Uno 1.0
veiculo
codigo nome país
1 Chevrolet EUA
2 Fiat Itália
3 Ford EUA
4 Volkswagen Alemanha
montadora
15
• Uma chave candidata é formada pelo conjunto de 
atributos capazes de se tornarem uma chave 
primária;
Chave Candidata
16
• A chave primária é composta por um ou mais atributos capazes 
de identificar, de forma única e exclusiva, cada tupla da relação;
• Quando é constituída de mais de um atributo, ela é chamada de 
chave primária composta
• A chave primária no MR é representada colocando-se o(s) 
atributo(s) chave sublinhado(s)
Chave Primária
17
codigo codigo_montadora nome motor
101 1 Corsa 1.4
102 3 Fiesta 1.6
103 4 Gol 1.6
104 2 Uno 1.0
veiculo
codigo nome país
1 Chevrolet EUA
2 Fiat Itália
3 Ford EUA
4 Volkswagen Alemanha
montadora
17
• A chave estrangeira é formada pela chave primária de uma 
outra relação;
• Por exemplo, o atributo codigo_montadora da relação 
Veículo é chave estrangeira, pois representa o atributo 
codigo da relação Montadora.
Chave Estrangeira
18
codigo codigo_montadora nome motor
101 1 Corsa 1.4
102 3 Fiesta 1.6
103 4 Gol 1.6
104 2 Uno 1.0
veiculo
codigo nome país
1 Chevrolet EUA
2 Fiat Itália
3 Ford EUA
4 Volkswagen Alemanha
montadora
18
• No modelo relacional, existem três tipos de 
restrições de integridade, sendo elas:
– Restrições de Integridade de Chave;
– Restrições de Integridade de Valores Nulos (Null);
– Restrições de Integridade de Domínio.
Restrições de Integridade
19
• Uma restrição de chave primária determina que, ao se 
definir um atributo como a chave primária de uma relação, 
os valores dos atributos que correspondem a essa chave 
não podem ser repetidos para duas entidades distintas;
• É o caso das placas dos automóveis. Se definirmos o 
atributo Placa como sendo a chave primária, não poderá 
existir nos dados, duas entidades com o mesmo valor para 
esse atributo;
• O exemplo é aplicado ao atributo CPF num cadastro de 
pessoas físicas, ou seja, não haverá duas tuplas com o 
mesmo valor para este atributo.
Restrição de Integridade de Chave
20
• Essa restrição impede que sejam atribuídos valores nulos 
para um atributo de uma relação;
• Por exemplo, para uma pessoa poder abrir uma conta em 
um banco é preciso ter um número de inscrição no CPF. 
Assim, ao modelarmos um sistema desse tipo devemos 
definir que o atributo Número CPF possui uma restrição de 
valores nulo, ou seja, ele deve ser informado 
obrigatoriamente;
• Num cadastro de veículos, o atribuo Placa é utilizado para 
identificar unicamente cada veículo (chave primária). Desta 
forma, não deve ser permitido valores nulos para este 
atributo (restrição de valores nulos).
Restrições de Integridade de Valores 
Nulos (Null)
21
• Indica que os dados de um atributo devem 
pertencer ao domínio deste atributo;
• Se o atributo Ano de Fabricação é utilizado para 
inserir números, não poderá ser inserido letras ou 
caracteres especiais;
• Na relação Matrícula, o atributo Data de Inscrição 
só aceita valores do tipo data.
Restrições de Integridade de Domínio
22
• O MER possui notação em alto nível para 
descrever o modelo de banco de dados;
• O MR possui notação específica e que se aproxima 
da implementação física do modelo de banco de 
dados.
Mapeamento do MER para o MR
23
Modelo ER para Modelo Relacional• Por que começar com o modelo ER?
• mais fácil
• mais recursos
• mais flexível
• existem regras para converter do modelo ER 
para o modelo Relacional
Entidades Fortes
• Transforme cada Conjunto de Entidades em 
uma Relação mantendo os atributos.
• O Atributo chave deve estar destacado com 
sublinhado;
Entidades Fracas
• Transforme cada Conjunto de Entidades Fracas 
em uma Relação contendo seus próprios 
atributos mais a chave primária das entidades 
determinantes.
Atributo Simples
• Os atributos simples são representados 
normalmente na relação, ou seja, sem 
destaque.
Atributos Compostos
• Cada atributo do atributo composto, torna-se 
um atributo da relação, transformado em 
atributos simples
Atributos Multivalorados
Atributos Multivalorados
• Crie uma nova Relação cuja Chave Primária é o 
conjunto da:
1.Chave Primária da Relação que possui o 
atributo multi valorado
2.Cada valor do atributo multivalorado
Atributos Multivalorados
Relacionamento Muitos-Um ou 
Um-Para-Muitos
• Relacionamento Muitos-Um de A para B: 
Adicione em A a chave primária de B
 
• Relacionamento Muitos-Um de A para B: 
Adicione em A a chave primária de B
 
estudio(cnpj, nome)
filme(titulo, ano, genero)
Relacionamento Muitos-Um
• Relacionamento Muitos-Um de A para B: 
Adicione em A a chave primária de B
 
estudio(cnpj, nome)
filme(titulo, ano, genero, cnpj)
Relacionamento Muitos-Um
Relacionamento Um-Para-Um (1:1)
• Adicione em A a chave primária de B
OU
• Adicione em B a chave primária de A
Relacionamento Um-Para-Um (1:1)
Carro(Placa, Marca, Montadora, Ano)
Motor(NumSerie, Cilindros, Combustivel)
Relacionamento Um-Para-Um (1:1)
Carro(Placa, Marca, Montadora, Ano)
Motor(NumSerie, Cilindros, Combustivel, Placa)
Relacionamento Um-Para-Um (1:1)
Carro(Placa, Marca, Montadora, Ano, NumSerieMotor)
Motor(NumSerie, Cilindros, Combustivel)
Relacionamento Muitos-Muitos ou 
Muitos Para Muitos
• Crie uma nova Relação R com as Chaves 
Primárias de A e B. O Conjunto das chaves de 
A e B será a Chave Primária de R
Relacionamento Muitos-Muitos
ator(nome, endereço)
Filme(titulo, ano, genero)
ator(nome, endereço)
Filme(titulo, ano, genero)
atua(nome, titulo, ano)
Relacionamento Muitos-Muitos
Relacionamento Muitos-Um Com 
Atributos
• Relacionamento Muitos-Um de A para B: 
Adicione em A a chave primária de B e os 
atributos do relacionamento
estudio(cnpj, nome)
filme(titulo, ano, genero, cnpj)
Relacionamento Muitos-Um Com 
Atributos
estudio(cnpj, nome)
filme(titulo, ano, genero, cnpj, data_inicio)
Relacionamento Muitos-Um Com 
Atributos
Relacionamento Um-Um Com 
Atributos
• Adicione em A a chave primária de B e os 
atributos do relacionamento
Ou
• Adicione em B a chave primária de A e os 
atributos do relacionamento
Carro(Placa, Marca, Montadora, Ano)
Motor(NumSerie, Cilindros, Combustivel, Placa)
Relacionamento Um-Um Com 
Atributos
Carro(Placa, Marca, Montadora, Ano)
Motor(NumSerie, Cilindros, Combustivel, Placa, data_colocacao)
Relacionamento Um-Um Com 
Atributos
Carro(Placa, Marca, Montadora, Ano, NumSerieMotor, data_colocacao)
Motor(NumSerie, Cilindros, Combustivel)
Relacionamento Um-Um Com 
Atributos
Relacionamento Muitos-Muitos 
Com Atributos
• Crie uma nova Relação R com as Chaves 
Primárias de A e B. O Conjunto das chaves de 
A e B será a Chave Primária de R, inclua em R 
os atributos do relacionamento.
ator(nome, endereço)
Filme(titulo, ano, genero)
Relacionamento Muitos-Muitos 
Com Atributos
ator(nome, endereço)
Filme(titulo, ano, genero)
atua(nome, titulo, ano, personagem)
Relacionamento Muitos-Muitos 
Com Atributos
Auto-Relacionamento
funcionarios(cpf, endereco, nome, CPFSupervisor)
Qual a melhor Chave Primária?
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53

Continue navegando