Buscar

mapeamento objeto relacional

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

*
Banco de dados
É um conjunto de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. 
Um banco de dados é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Um SGBD corresponde a um conjunto de programas que permitem armazenar, modificar e extrair informação de um banco de dados. Ele age como interface entre os programas de aplicação e os dados físicos. 
Normalmente um SGBD adota um modelo de dados. O mais adotado hoje em dia é o modelo relacional, onde as estruturas têm a forma de tabelas, compostas por tuplas (linhas) e colunas. Já a linguagem padrão para os bancos de dados relacionais é a Linguagem de Consulta Estruturada (SQL). 
O relacionamento entre conjunto de dados (tabelas) não existe fisicamente (apenas lógico);
 
*
Mapeamento 
Objeto Relacional 
*
Definições
Relação  tabela bi-dimensional, composta de linhas e colunas de dados. 
Atributo = Coluna
Grau de uma relação: Número de atributos. 
Tupla (ou n-uplet): Uma linha da relação = um registro
Chave Primária um ou mais atributos de uma tabela, cujos valores, nunca se repetem na tabela. Em chaves primárias, não pode haver valores nulos.
Chave Estrangeira: um atributo em uma tabela que faz referência a chave primária de outra tabela. Ou seja, passa a existir uma relação entre essas duas tabelas. A finalidade da chave estrangeira é garantir a integridade dos dados referenciais.
Integridade referencial: Se uma determinada tabela A possui um atributo que é chave estrangeira em uma tabela B, então em cada tupla da tabela A ele deve: 
Ser igual a uma chave primária existente em B ou ter o valor nulo. 
Ou seja, não pode existir na chave estrangeira um valor que não exista na tabela na qual ela é chave primária. 
*
Mapeamento 
Objeto Relacional 
*
Esquema de Banco de Dados Relacional: nomes das relações seguidos pelos nomes dos atributos, com os atributos chaves sublinhados e com as chaves estrangeiras identificadas. 
Exemplo de esquema:
 Aluno (Aluno_Matricula, Aluno_Nome)
 Curso (Curso_ID, Curso_Nome) 
 Matriculado (Curso_ID, Aluno_Matricula, Nota) 
Chave estrangeira: 
 Curso_Id referencia Curso_Id em Curso
 Aluno_Matricula referencia Aluno_Matricula em Aluno.
*
Mapeamento 
Objeto Relacional 
*
Derivação do diagrama de classe para o modelo relacional
Regras básicas: 
1) Toda Classe vira uma Tabela (Relação) no Modelo Relacional
2) Todo Atributo da Classe vira um Atributo (Coluna) no Modelo Relacional
3) Na derivação do Diagrama de Classe para o Modelo Relacional só interessa analisar o Grau (restrição de mapeamento ou cardinalidade) máximo do relacionamento. 
*
Mapeamento 
Objeto Relacional 
*
Relacionamentos 1:N (várias classes) 
A Tabela cuja a classe possui multiplicidade máxima N carrega o identificador da tabela cuja a classe possui multiplicidade máxima 1. 
*
Mapeamento 
Objeto Relacional 
Empregado (matricula,nome) 
Projeto (código,nome,descricao,valor,dtInicio,duração,matricula) 
Chave Estrangeira:matricula referencia matricula em Empregado
*
 Relacionamentos 1:N (mesma classe) 
Incluir uma nova chave na mesma tabela, passando a ter o papel de chave estrangeira. 
Empregado (matricula, nome, matricula_chefe)
Chave Estrangeira: matricula_chefe referencia matricula em funcionario
*
Mapeamento 
Objeto Relacional 
*
Relacionamentos 1:1 (várias classes) 
Incluir a chave primária na tabela cuja multiplicidade mínima da classe é 0.
Aluno (matricula,nome,dtNascimento,numero)
Chave Estrangeira: numero referencia numero em Armario
Armario (numero, localizacao) 
*
Mapeamento 
Objeto Relacional 
*
Relacionamentos 1:1 (mesma classe) 
Incluir uma nova chave na própria tabela. 
 
Pessoa (cpf, nome, cpf_conjuge)
 Chave Estrangeira: cpf_conjuge referencia cpf em Pessoa
*
Mapeamento 
Objeto Relacional 
*
Relacionamentos M:N (várias classes) 
O relacionamento torna-se uma tabela, carregando seus atributos e os identificadores das tabelas que ele se relaciona. 
 
Aluno (matricula,nome,dtNascimento)
Turma (codigo,anosemestre)
Cursa (matricula, codigo, G1,G2,G3,faltas)
Chaves Estrangeiras: matricula referencia matricula em Aluno
		 codigo referencia codigo em Turma
*
Mapeamento 
Objeto Relacional 
*
Relacionamentos M:N (mesma classe) 
Criar nova tabela, com os identificadores da classe 
 
Disciplina (codigo,nome,conteudo)
Pre-Requisito (codigo_exige, codigo_satisfaz). 
	Chaves Estrangeiras: Codigo_exige referencia codigo em disciplina
	 Codigo_satisfaz referencia codigo em disciplina
  
*
Mapeamento 
Objeto Relacional 
*
Relacionamentos de generalização 
Todas as classes viram tabelas. As tabelas referentes as subclasses carregam a chave primária da super-classe.
 
CargaTransportada (codigo, descrição, peso, volume)
Frigorificada (codigo, tempMin, tempMax)
Perecivel (codigo, dtVencimento)
Chave Estrangeira: codigo referencia codigo em CargaTransportada
 codigo referencia codigo em CargaTransportada
 
*
Mapeamento 
Objeto Relacional 
*
Formas Normais
Formas normais são regras para estruturar relações eliminando anomalias. 
Primeira Forma Normal (1NF): Todos os atributos devem ser atômicos (ou seja, contêm um só valor). 
Dependência Funcional (DF): Um valor de um (ou mais) atributo(s) em uma tupla (linha, registro) determina o valor de outro(s) atributo(s) na tupla. 
Representação DF: A  B 
Significado: se qualquer par de tuplas (linhas, registros) possuem o mesmo valor para o atributo A, então elas têm que ter o mesmo valor do atributo B. Esta definição também vale se A e B forem conjuntos de atributos ao invés de um só atributo.
O(s) atributo(s) do lado esquerdo de uma DF é(são) chamados de determinante(s), porque ele(s) determina(m) o valor do(s) atributo(s) do lado direito. Uma chave primária de uma relação é um determinante, pois seu valor determina unicamente o valor de todos os outros atributos de uma tupla. 
*
Normalização
*
Exemplo de uma relação que não é 1NF (valores múltiplos em Prédio_ID)
*
Normalização
*
Segunda Forma Normal (2NF): Nenhum atributo não-chave depende funcionalmente de somente uma parte de chave. Ela somente pode ser violada no caso de chaves compostas. 
A 2NF também pode ser expressa por: Todo atributo não-chave depende funcionalmente de TODA a chave.
Exemplo de uma relação que não é 2NF:
Chave primária: Func_Matrícula e Prédio ID;
Func_Nome depende somente de Func_Matricula
*
Normalização
*
Terceira Forma Normal (3NF): Todo determinante é uma chave. 
Como passar da 2a. para a 3a. forma normal: Decomposição da relação, ou seja, criar nova relação, com os atributos que transgridem a DF. 
Resultado: (3FN)
Alocado (Func-MAt, Predio_ID, Data) 
Funcionário (Func_Mat, Nome) 
*
Normalização
*
Terceira Forma Normal (3NF): Todo determinante é uma chave. 
Como passar da 2a. para a 3a. forma normal: Decomposição da relação, ou seja, criar nova relação, com os atributos que transgridem a DF. 
Resultado: (3FN)
Alocado (Func-MAt, Predio_ID, Data) 
Funcionário (Func_Mat, Nome) 
*
Normalização

Teste o Premium para desbloquear

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

Outros materiais