Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouStéphanie Felgueiras Osório Alterado mais de 8 anos atrás
1
Objetos em Bancos de Dados Relacionais Alcides Calsavara
2
Vantagens de BD n recuperação em caso de falha n compartilhamento entre usuários n compartilhamento entre aplicações n segurança n integridade n extensibilidade n distribuição de dados
3
Conceitos de BD relacionais n Partes de um RDBMS: –dados que são apresentados como tabelas –operadores para manipulação de tabelas –regras de integridade para as tabelas
4
Estrutura lógica de um RDBMS n coleção de tabelas n cada tabela tem um determinado número de colunas e um número qualquer de linhas n colunas são chamadas de atributos n linhas são chamadas de tuplas n cada atributo tem um domínio: conjunto de valores legais
5
Operadores de RDBMS n SQL: –SELECT... FROM... WHERE... –CREATE TABLE... –INSERT ROW... INTO TABLE... –DELETE ROW... FROM TABLE... SET-ORIENTED
6
Integridade em RDBMS n Integridade de entidade: cada tabela tem exatamente uma chave-primária chave-primária : combinação de um ou mais atributos cujo valor identifica unicamente cada linha em uma tabela
7
Integridade em RDBMS (cont.) n Integridade referencial: cada chave estrangeira deve ser consistente com sua correspondente chave primária chave estrangeira: é uma chave primária de uma tabela embutida em outra (ou na mesma) tabela
8
Formas normais n primeira: nenhum atributo contém um grupo de valores n segunda: cada tupla deve ter uma chave primária n terceira: cada atributo depende diretamente da chave primária
9
OID como chave primária n Mapeamento classe-tabela –há uma tabela para cada classe –cada tupla corresponde ao estado de uma instância (objeto) da classe –a chave primária da tupla é a OID do correspondente objeto
10
OID como chave primária (cont.) n Mapeamento associação-tabela –há uma tabela para cada associação entre classes –cada tupla corresponde a uma ligação entre instâncias (objetos) das classes associadas –a chave primária da tupla é composta pelas OIDs dos objetos ligados
11
OID como chave primária (cont.) n vantagem: associações são implementadas de forma independente de propriedades de objetos e, portanto, não requer atualização quando objetos são modificados
12
OID como chave primária (cont.) n desvantages: –RDBMS não gerencia OID: pode haver ineficiência e desperdício de espaço –a teoria relacional diz que dados são manipulados de acordo com seus atributos: OID é um artefato de implementação que RDBMS tenta eliminar
13
OID como chave primária (cont.) n quando usar? –use quando o acesso ao banco de dados é restrito a programas contornar deficiências do RDBMS garantir integridade prover interface de usuário –não use quando o acesso ao banco de dados é feito diretamente por usuários interpretador SQL
14
Mapeamento classe-tabela nome: Nome endereço: Endereço Pessoa
15
Mapeamento classe-tabela (cont.)
16
CREATE TABLE Pessoa (oidchar(40)not null, nomechar(30)not null, endereçochar(50) PRIMARY KEY (oid) );
17
Mapeamento associação-tabela n Tipos de associação: –binária: muitos para muitos um para muitos um para um –ternária –...
18
Associação binária muitos-para-muitos
19
Associação binária muitos-para-muitos (cont.)
20
CREATE TABLE Trabalha-para (empresa-oidchar(40)not null, pessoa-oidchar(40)not null, salariodouble, PRIMARY KEY (empresa-oid, pessoa-oid), FOREIGN KEY (empresa-oid) REFERENCES Empresa, FOREIGN KEY (pessoa-oid) REFERENCES Pessoa );
21
Associação binária um-para-muitos
22
Associação binária um-para-muitos (cont.)
23
n vantagens da junção de tabelas: –menos tabelas –melhor desempenho devido ao menor número de tabelas para navegar
24
Associação binária um-para-muitos (cont.) n desvantagens da junção de tabelas: –menos rigor de design: um objeto contém informação sobre outro objeto (contra a idéia de encapsulamento) –extensibilidade reduzida: se a multiplicade mudar para muitos-para- muitos então as tabelas devem mudar –mais complexidade: a representação assimétrica complica operações de busca e atualização
25
Mapeamento de generalização n ABORDAGENS: –(T) cada classe (superclasse e subclasse) é mapeada para uma tabela –(C) somente cada classe concreta é mapeada para uma tabela –(R) somente a classe raiz da hierarquia é mapeada para uma tabela
26
Mapeamento de generalização (cont.)
27
Mapeamento de generalização - abordagem T -
28
Mapeamento de generalização - abordagem T - (cont.)
30
Mapeamento de generalização - abordagem C -
31
Mapeamento de generalização - abordagem C - (cont.)
32
Mapeamento de generalização - abordagem R -
33
Mapeamento de generalização - comparação de abordagens - n abordagem T: –mais genérica –mais extensibilidade –maior número de tabelas para gerenciar –maior número de tabelas para navegar –risco de inconsistência: um mesmo objeto pode aparecer em mais de uma tabela correspondente a subclasse
34
Mapeamento de generalização - comparação de abordagens - n abordagem C: –obedece a terceira forma normal –replica atributos de superclasses –não há como garantir que um atributo que é "chave primária" em uma superclasse não será duplicado nas diversas tabelas das subclasses
35
Mapeamento de generalização - comparação de abordagens - n abordagem R: –tabela não está na terceira forma normal –desperdício de espaço –pode ter bom desempenho
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.