Buscar

Biblioteca 1220583

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Modelo Relacional
Modelo Relacional
  Criado por Edgar Codd (matemático Britanico), nos anos
70;
 Desenvolveu o modelo de banco de dados relacional, quando era pesquisador no laboratório da IBM em San José;
  Em junho de 1970 publicou um artigo chamado "Relational Model 
of Data for Large Shared Data Banks" ("Modelo de dados relacional 
para grandes bancos de dados compartilhados") na Revista ACM ("Association for Computing Machinery") Vol. 13, No. 6, pp. 377–387.
  O modelo relacional chegou a ser implementado ainda em vida de 
Codd, pela própria IBM, num sistema de uso restrito chamado 
BS12;
  Utilizado em empresas a partir de 1987.
  Conjunto de dados vistos segundo um conjunto de tabelas.
Modelo Relacional
  Terminologia
 Tabela - Relação.
 Linha - Tupla.
 Coluna - Atributo.
 Tabela composta de linhas,
colunas e chaves primárias
e relacionadas através de chaves estrangeiras.
Modelo Relacional
  Tabela:
 Conjunto não ordenado de linhas (tuplas), em que cada linha é composta de campos (valor de atributo)
 Cada campo é identificado por um Nome (nome de atributo)
 Conjunto de campos das linhas de uma tabela que possuem o mesmo nome formam uma coluna.
Exemplo de esquema de modelo
relacional
Tabela
Transformando o Modelo ER num Esquema Relacional
Transformação
entre os
modelos
Modelo ER
(conceitual)
c
Projeto lógico 
de BD relacional
Engenharia
reversa de
BD relacional
Ciclo de
re-engenharia de BD
Modelo relacional
(lógico)
Transformação
entre modelos
modelo ER
(nível conceitual)
Transformação
ER para 
relacional
Refinamento
do modelo 
relacional
modelo relacional
(nível lógico)
Entidades
  Cada entidade é traduzida para uma tabela
  Cada atributo da entidade define uma coluna desta tabela
  Atributos identificadores da entidade correspondem a chave primária da tabela.
  Tradução inicial:
 Regras que seguem podem fundir tabelas
Nomes de colunas boas praticas
  Referenciados frequentemente em programas
formas de texto em computador
  Para diminuir o trabalho de programadores
 manter os nomes de colunas curtos.
  SGBD relacional
e outras
 nome de uma coluna não pode conter brancos
 Alguns sgbd’s possuem limite de tamanho de nome das colunas;
Entidades
data de
admissão
data de nascimento
código
nome endereço
Pessoa (CodigoPess, Nome, Endereço, DataNasc, DataAdm)
PESSOA
Esquema Lógico no Modelo Relacional
Nome da coluna da chave
primária
  Chave primária PK
 pode aparecer em outras tabelas estrangeira FK
  Recomendável
 nomes das colunas que compõem a chave primária
na forma de chave
 sufixados ou prefixados com o nome ou sigla da
tabela na qual aparecem como chave primária
 Exemplo
 CodigoPess
Relacionamento - Alternativas
  Tabela própria
  Adição de colunas a uma das tabelas
  Fusão de tabelas
 Alternativa depende da cardinalidade (máxima
mínima do relacionamento)
e
Relacionamento
– Criação de Tabela
(0,n)
(0,n)
ATUAÇÃO
Código
Nome
Função
Título
Código
Engenheiro (CodEng,Nome)
Projeto (CodProj,Título)
Atuação (CodEng,CodProj,Função) 
CodEng referencia Engenheiro
CodProj referencia Projeto
PROJETO
ENGENHEIRO
Relacionamento – Adição
de coluna
(0,n)
(1,1)
LOTAÇÃO
Código
Nome
Data lotação
Código
Nome
Departamento (CodDept,Nome)
Empregado (CodEmp,Nome,CodDept,DataLota)
CodDept referencia Departamento
EMPREGADO
DEPARTAMENTO
Relacionamento – Fusão de tabela
(1,1)
(1,1)
ORGANIZAÇÃO
Data Instalação
Ender
Código
Nome
Conferência (CodConf,Nome,DataInstComOrg,EnderComOrg)
COMISSÃO
CONFERÊNCIA
Exemplificando Casos e Situações de Transformações
Transformando Entidades em Relações
Criar uma relação R para cada entidade. A relação R terá o mesmo nome da
entidade;
Incluir como atributos da relação:
  Atributos simples da entidade
  Componentes simples de atributos compostos
O identificador da entidade torna-se uma chave primária na relação
  Se o identificador escolhido for composto, o conjunto de atributos simples formarão juntos a chave de R
 
 
 
Funcionário (RG, nome, sexo,cidade, UF)
Transformando Entidades Fracas em Relações
Criar uma relação R para cada entidade fraca
Incluir como atributos da relação:
  Atributos simples da entidade
  Componentes simples de atributos compostos
  a PK da entidade proprietária como chave estrangeira (FK)
Chave primária de R
  Combinação da PK da entidade proprietária com o identificador parcial da entidade 
fraca
 
 
 
Dependente (Nome, parentesco,idade, RG )
Exercício
código
nome
(1,1)
(0,n)
número da
empresa
nome
(1,1)
(0,n)
número do
empregado
(0,n)
nome
nome
número de
seqüência
DEPENDENTE
EMPREGADO
(1,1)
EMPRESA
GRUPO
Exercício Resolução
Grupo (CodGrup,Nome)
Empresa (CodGrup,NoEmpresa,Nome)
Empregado (CodGrup,NoEmpresa,NoEmpreg, Nome) Dependente (CodGrup,NoEmpresa,NoEmpreg,NoSeq,Nome)
Transformando Atributos Multivalorados
Seja A um atributo multivalorado de uma entidade ou relacionamento
  Criar uma nova relação R contendo A;
  Chave da relação R é o atributo chave da entidade ou os atributos chaves das entidades envolvidas no relacionamento + o atributo multivalorado;
 
Funcionário (RG, nome,sexo,cidade, UF)
Telefones_func (RG, fone )
Relacionamentos Unários 1:N
  Incluir na relação a chave referente ao papel do lado “um” no relacionamento
  A chave incluída é uma chave estrangeira referenciando os valores da chave primária
nome
(0,N)
gerenciado
id
gerenciar
(1,1)
gerente
Funcionário (id, nome, id_gerente )
Funcionário
Relacionamentos Unários n:n
  Criar uma relação representando a entidade participante do relacionamento
  Outra para representar o relacionamento N:M
  A chave da relação que representa o relacionamento é formada pelo par de 
chaves da entidade
nome
(0,N)
São de
cod
requisito
(0,N)
possui
Disciplina (Cod, nome )
Requisito (CodDisc, Cod_requisito)
Disciplina
Relacionamentos Binários 1:n
Criar uma relação para cada entidade participante no relacionamento
Incluir a chave primária da entidade do lado “1” como FK na entidade do lado
“N”
 
 
nome
NumDepto
coordenador
RG
sexo
(0,N)
(1,1)
Trabalhar
FK
PK
Funcionário (RG, nome, sexo, NumDepto)
Departamento (NumDepto, coordenador)
Departamento
Funcionário
PK
Relacionamento Binários 1:1
Caso especial do caso 1:N
Criar uma relação para cada entidade participante do relacionamento
A chave primária de cada uma das relações é incluída como FK da outra relação
  Observar as cardinalidade mínima para evitar campos null;
 
 
 
cic
nome
num
coordenador
RG
sexo
(1,1)
(0,1)
Trabalhar
FK
Funcionário (RG, nome, sexo, Num)
Departamento (Num, coordenador, RG)
Funcionário
Departamento
Relacionamentos Binários n:n
  Criar uma relação para cada entidade participante no relacionamento
  Criar uma nova relação
  Incluir como atributos FK as chaves primárias de cada entidade participante do relacionamento
  Esses atributos compõem a chave primária da nova relação
  Incluir os atributos do relacionamento
CNPJ
reponsável
codigo
modelo
localização
(0,N)
(0,N)
Produzir
Produto
Fabricante
cnpj responsável localização
codigo
modelo
Produção
cnpj codigo
Fabricante
Produto
Relacionamento Binário n:n
  Esquemas resultantes do Mapeamento para o modelo
relacional:
 Fabricante (cnpj, responsável,localização)
 Produto (código, modelo)
 Produção(cnpj, codigo)
CNPJ
Relacionamento Binário n:n
Nome
codigo
localização
sexo
cic
nome
(1,N)
(1,N)
Atender
  Esquemas
resultantes do Mapeamento para o modelo relacional:
 Filial (CNPJ, Nome, Localização)
 Cliente (Código, Nome, Sexo, CIC)
 Atendimento (CNPJ, Código)
Cliente
Filial
Qtd_mensal
CNPJ
reponsável
codigo
modelo
localização
preco
(0,N)
(0,N)
Produzir
Produto
Fabricante
cnpj responsável localização
codigo modelo
Produção
cnpj codigo Qtd_mensal preço
Produto
Fabricante
Atributo no Relacionamento n:n
Atributo no Relacionamento
  Esquemas resultantes do Mapeamento para o modelo relacional:
  Fabricante (cnpj, responsável,localização)
  Produto (código, modelo)
  Produção(cnpj, codigo, preço, Qdade_mensal)
Relacionamentos Ternários
  Converte-se o relacionamento ternário em uma entidade
qtde localização
CNPJ
reponsável
codigo
modelo
data
(0,N)
(0,N)
Produzir
nome
num
tipo
Material
Produto
Fabricante
Relacionamentos Ternários
Produto
Fabricante
  Esquemas resultantes do Mapeamento para o modelo relacional:
  Fabricante (cnpj, responsável,localização)
  Produto (código, modelo)
  Material (num, nome, tipo)
  Produção(num, cnpj, codigo, data, qdade)
cnpj responsável localização
codigo modelo
Produção
Material
cnpj codigo num qtde data
num nome tipo
Relacionamentos de Generalizações
  Três abordagens principais
  Criar uma relação única superclasse
  Criar “N” relações subclasses
  Criar “N+1” relações superclasse e subclasses
  Escolha da abordagem
  Restrição de não-sobreposição
 Disjuntas, Sobreposição
  Restrições de completude
 Total, Parcial
Relacionamentos de Generalizações
nome
cod
cpf
sexo
cnpj
Pessoa Juridica
Pessoa Fisica
Cliente
Relacionamentos de Generalizações
 Mapear para uma única relação
  Opção 1a: Criar uma única relação, com o nome da superclasse
  Adicionar todos os atributos da superclasse
  Adicionar todos os atributos das subclasses
  A chave primária será definida pela PK da superclasse
  Adicionar um atributo indicando a qual subclasse pertence a tupla
  OBS:
  Dispensa a utilização de várias tabelas em consultas
  Boa opção para subclasses disjuntas
  pode gerar valores null
Cliente
codigo nome cnpj cpf sexo Tipo
Relacionamentos de Generalizações
 Mapear para uma única relação
  Opção 1b: Criar uma única relação, com o nome da superclasse
  Adicionar todos os atributos da superclasse
  Adicionar todos os atributos das subclasses
  A chave primária será definida pela PK da superclasse
  Adicionar um atributo para cada subclasse indicando o tipo
  OBS:
  Dispensa a utilização de várias tabelas em consultas
  Boa opção para subclasses sobrepostas
  pode gerar muitos valores null
Cliente
codigo nome cnpj cpf sexo Tipo_PF Tipo_PJ
Relacionamentos de Generalizações
  Mapear para várias relações
 Criar uma relação Li para cada subclasse Si e incluir os atributos da subclasse
 Incluir em cada Li os atributos da superclasse
 A chave de Li é a o atributo identificador da superclasse
  OBS: Não indicado para generalizações parciais ou com sobreposição
Relacionamentos de Generalizações
Mapear para várias relações
nome
cpf
sexo
cnpj
Pessoa Juridica
Pessoa Fisica
Cliente
cod
Relacionamentos de Generalizações
  Mapear
para
várias
relações
  Esquemas resultantes do Mapeamento para o modelo
  relacional:
  Pessoa_fisica (codigo, cpf, nome, sexo)
  Pessoa_juridica (codigo, nome, cnpj)
Pessoa Juridica
codigo nome cnpj
Pessoa Fisica
codigo nome cpf sexo
Relacionamentos de Generalizações
  Mapear para várias relações
  Criar uma relação para a superclasse e por somente seus atributos, além de definir sua chave primária.
 Criar uma relação Li para cada subclasse Si e incluir os atributos da subclasse e a chave primária da superclasse
Relacionamentos de Generalizações
Mapear para várias relações N+1
nome
cpf
sexo
cnpj
Pessoa Juridica
Pessoa Fisica
Cliente
cod
Relacionamentos de Generalizações
  Mapear
para
várias
relações
  Esquemas resultantes do Mapeamento para o modelo relacional:
  Cliente(codigoCli, nome)
  Pessoa_fisica (codigoCli, cpf, nome, sexo)
  Pessoa_juridica (codigoCli, nome, cnpj)
Pessoa Juridica
codigoCli cnpj
Pessoa Fisica
codigoCli cpf sexo
Ciente
codigoCli nome

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Perguntas relacionadas

Perguntas Recentes