• Nenhum resultado encontrado

Aula0

N/A
N/A
Protected

Academic year: 2021

Share "Aula0"

Copied!
45
0
0

Texto

(1)

Banco de Dados Orientado a Objetos

Rogério Morais Rocha

Bacharel em Ciência da Computação

Pós-Graduação Gestão Estratégica da Informação

(2)

Banco de Dados Orientado a Objetos

• Aula Inicial

– Regras Atividades em Equipe e Individuais.

• A cada dia de atraso na entrega da atividade a mesma será decrementada, do seu valor máximo, em 10%.

• Exemplo:

• Atividade no dia 20/03/2007 e entrega no mesmo dia. – Valor total : 5 pontos

• Arlindo Porto entregou no dia 21/03/2007

– Valor Total (para Arlindo Porto) : 4,5 pontos

• A fórmula deverá ser utilizada até a atividade atingir o valor de zeros pontos.

(3)

• Metodologia

– Aulas Expositivas / Participativas – Atividades Práticas • Individuais • Em equipe – Sondagens de Conhecimento • Primeira fase: 20 + 10 • Segunda fase: 20 + 10 • Terceira fase: 30 + 10

– Evite a Sondagem Suplementar!

(4)

• Utilização do Celular

– Se possível, desligar o aparelho celular em sala de aula.

– Se não é possível desligar o aparelho celular colocá-lo em um perfil que não atrapalhe a aula.

– Não atender o celular dentro de sala de aula.

(5)

Banco de Dados Orientado a Objetos

Ementa

Orientação a objetos e sua aplicação em Bancos de Dados.

Objetivo da Disciplina

Identificar as novas necessidades para aplicações de bancos de dados. Apresentar conceitos de orientação a objetos aplicados a bancos de dados. Explicar as principais diferenças na arquitetura SGBD´s orientados a objetos. Apresentar as alternativas de um modelo de objetos para um modelo de dados relacional. Descrever a evolução do modelo relacional e sua integração em um modelo

(6)

Banco de Dados Orientado a Objetos

Conteúdo da Disciplina – Tópicos

1. Introdução aos Conceitos de Orientação a Objetos

Conceitos orientação objetos.

Identidade de objeto, estrutura de objeto e contrutores de tipos. Encapsulamento de operações, métodos e persistência.

Hierarquias de classe e tipo, e herança. Objetos complexos.

(7)

Banco de Dados Orientado a Objetos

Conteúdo da Disciplina - Tópicos

2 Integração entre as Tecnologias de Banco de Dados e

Orientação a Objetos

Visão geral do modelo ODMG. O modelo JDO.

ODL – a linguagem de definição de objetos. Projeto conceitual.

3 Arquitetura de um Sistema Gerenciados de Banco de Dados

(8)

Banco de Dados Orientado a Objetos

Conteúdo da Disciplina – Tópicos

4 Modelo Relacional-Objeto

Visão geral da SQL e suas características objeto-relacionais. Tipos de dados, array e multiconjunto.

Caracteristicas objeto-relacionais do Informix e Oracle.

(9)

Banco de Dados Orientado a Objetos

Material Utilizado na Disciplina

Bibliografia Obrigatória

ELMASRI, R. & NAVATHE, S. B. Sistemas de Bancos de Dados – Fundamentos e Aplicações. 4a Edição. São Paulo: Pearson, 2005.

Bibliografia Adicional: Para Saber Mais

http://pt.wikipedia.org/wiki/Banco_de_dados_orientado_a_objetos

 

SILBERSCHATZ, Abraham; KORTH, Henry F. e SUDARSHAN, S. Sistema de Banco de Dados, 3a Edição. Rio de Janeiro: Elsevire, 2006.

(10)

Banco de Dados Orientado a Objetos

Objetivo da Disciplina

A disciplina Banco de Dados Orientado a Objetos busca propiciar ao aluno condições de:

Se capacitar com conhecimento técnico para gerenciamento de SGDBs Orientado a objetos.

(11)

Banco de Dados Orientado a Objetos

Introdução

A evolução dos SGBDR relacionais para os SGBDOO ocorre devido à utilização intensiva de dados.

Silberchatz et. al. (2001, pg. 307) afirma que “À medida que as bases de dados foram sendo utilizadas em um âmbito maior de aplicações, as limitações impostas pelo modelo relacional emergiram como

obstáculos. Como resultado, pesquisadores da área de bancos de dados inventaram novos modelos de dados que superassem as

restrições do modelo relacional. [...] Nos últimos anos a demanda por maneiras de tratar dados mais complexos tem crescido”.

(12)

• Conceitos Básicos – Objeto

• É qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados - um animal, uma organização, um avião, uma parte desse avião ou uma reserva num vôo desse avião - um objeto inclusive pode ser constituído por outros objetos.

• Possuem as características de identidade, estado e comportamento.

(13)

• Conceitos Básicos - Objeto – Estado do Objeto

• São atributos cujos valores podem ser alterados, por exemplo, tamanho, forma e cor.

– Comportamento Objeto

• São métodos (ações) que podem mudar o estado do objeto, por exemplo, uma bola rola, infla e murcha. – Identidade do Objeto

• é a propriedade que distingue um objeto de todos os outros objetos.

(14)

• Conceitos Básicos - Objeto

(15)

• Conceitos Básicos – Tipo de Objeto

• Um tipo de objeto é uma categoria de objeto e um objeto é uma instância de um tipo de objeto.

Utilizando o jargão de bancos de dados, Aluno, Professor e Disciplina seriam tipos de entidade,

havendo muitas instâncias de cada tipo de entidade, como por exemplo, instâncias de Aluno seriam os alunos João, José e Pedro, instâncias de Disciplina seriam Matemática, Latim, etc

(16)

• Conceitos Básicos – Classe

• A classe "descreve" um grupo de objetos com propriedades semelhantes (atributos), o mesmo comportamento (operações), os mesmos

relacionamentos com outros objetos e a mesma semântica (Hirama, 1998).

• Ao construirmos uma classe, estamos implementando um tipo de objeto.

• A classe é como se fosse um molde, você constrói o molde e depois utiliza para fazer diversos objetos.

(17)

• Conceitos Básicos – Métodos

• Os métodos especificam a maneira pela qual os dados de um objeto são manipulados. Assim, um objeto tem suas propriedades representadas pelos tipos de dados e seu comportamento representado pelos métodos.

• Dois métodos associados ao tipo de objeto Avião

poderiam ser um que relacionasse todos os aviões e outro que calculasse a média de combustível

(18)

• Conceitos Básicos – Encapsulamento

• Encapsulamento é o ato de ocultar do usuário os

detalhes da implementação de um objeto, através do empacotamento simultâneo dos dados e métodos - a idéia básica é deixar visível a um usuário apenas o que ele necessita ver (e acessar, evidentemente).

(19)

• Conceitos Básicos – Encapsulamento

• Martin (1995) nos dá um exemplo muito didático: “Um aparelho de videocassete (VCR) é um exemplo de

objeto. Ele tem certos tipos especificados de

comportamento. Um VCR Sony AH-8500 é um tipo de objeto, e um aparelho individual poderia ser uma

instância deste tipo. Todos os aparelhos desse tipo têm os mesmos métodos. O VCR contém componentes

complexos, sendo que muitos contêm, eles mesmos, componentes, mas você não precisa saber sobre eles.

(20)

• Conceitos Básicos – Mensagens

• Um objeto reage a uma solicitação. Esta faz com que uma operação execute o método apropriado e, se o sistema assim determinar, envie resposta.

• A mensagem que constitui a solicitação contém o nome do objeto, o nome da operação e,

freqüentemente, parâmetros

• Uma operação pode envolver mais de um objeto.

(21)

Banco de Dados Orientado a Objetos

Conteúdo da Disciplina – Tópicos

1. Introdução aos Conceitos de Orientação a Objetos

Conceitos orientação objetos.

Identidade de objeto, estrutura de objeto e

contrutores de tipos.

Encapsulamento de operações, métodos e persistência. Hierarquias de classe e tipo, e herança.

(22)

Banco de Dados Orientado a Objetos

• IDENTIDADE DE OBJETO, ESTRUTURA DE OBJETO E

CONSTRUTORES DE TIPOS

– O modelo OO está baseado no encapsulamento de dados e um código relacionado a um objeto dentro de uma unidade. Conceitualmente, todas as interações entre um objeto e o resto do sistema são através de mensagens.

– Cada ocorrência de um objeto no banco de dados é denominada de instância do objeto.

(23)

Banco de Dados Orientado a Objetos

• IDENTIDADE DE OBJETO

– A impossibilidade em se identificar os objetos através dos valores de seus atributos ou de sua estrutura

comportamental motivou a definição de identificadores únicos, geralmente administrados pelo próprio SGBD. – A identidade do objeto também é utilizada para

identificar o objeto como atributo junto aos demais objetos, eliminando, dessa forma, anomalias de

atualização ou de integridade referencial (KHOSHAFIAN, 1994).

(24)

Banco de Dados Orientado a Objetos

• IDENTIDADE DE OBJETO

– Nos Bancos de Dados Orientados a Objetos (BDOO), os objetos possuem uma identidade mais forte que nas linguagens de programação, pois continuam existindo mesmo após a execução do programa e podem voltar a serem utilizados, na próxima execução, ou mesmo

serem utilizados por outro programa simultaneamente NASSU E SETZER (1999).

(25)

Banco de Dados Orientado a Objetos

• ESTRUTURA DE OBJETO

– O estado (valor corrente) de um objeto pode ser

construído a partir de outros objetos (ou outros valores) pelo uso de alguns construtores de tipos.

– Um modo formal de representar tais objetos é visualizar cada objeto como uma tripla (i, c, v).

• i é o identificador único do objeto, • c é um construtor de tipo e

(26)

Banco de Dados Orientado a Objetos

• CONSTRUTORES DE TIPOS

– Os três construtores mais básicos são atom (atômico),

tuple (tupla) e set (conjunto).

– O construtor atom é utilizado para representar todos os valores atômicos básicos, como inteiros, número reais, cadeia de caracteres, booleanos e quaisquer outros tipos básicos que o sistema suporte diretamente.

– O construtor tuple é utilizado para representar uma

tupla na forma <a1:i1, a2:i2, ... an:in> , em que cada aj é o

nome de um atributo e cada ij é um identificador de

(27)

Banco de Dados Orientado a Objetos

• CONSTRUTORES DE TIPOS

– O construtor set é utilizado para representar um

conjunto de identificadores de objetos (OID) {i1, i2, ... in}.

Exemplo:

O1 = (i1, atom, ‘Tecnologo em Banco de Dados’)

O2 = (i2, atom, ‘João Felipe’)

O3 = (i3, atom, ‘Faculdade Ined’)

O4 = (i4, atom, 2007)

O5 = (i5, set, {i1,i2,i3})

(28)

Banco de Dados Orientado a Objetos

Conteúdo da Disciplina – Tópicos

1. Introdução aos Conceitos de Orientação a Objetos

Conceitos orientação objetos.

Identidade de objeto, estrutura de objeto e contrutores de tipos.

Encapsulamento de operações, métodos e

persistência.

Hierarquias de classe e tipo, e herança. Objetos complexos.

(29)

Banco de Dados Orientado a Objetos

Comportamento do Objeto, Operações de Classe e Construtor do Objeto

A idéia principal é definir o comportamento de um tipo de objeto com base nas operações que podem ser

externamente aplicadas aos objetos daquele tipo. A estrutura interna do objeto é escondida e o objeto é

acessível por meio de um número de operações predefinidas.

As operações típicas incluem o construtor do objeto, utilizado para criar um novo objeto, e o destrutor,

(30)

Banco de Dados Orientado a Objetos

Atributos Visíveis e Ocultos

Os atributos visíveis podem ser acessados diretamente para leitura por operadores externos ou por uma

linguagem de consulta de alto nível.

Os atributos ocultos de um objeto são completamente

encapsulados e podem ser acessados somente por meio de operações predefinidas.

(31)

Banco de Dados Orientado a Objetos

Conteúdo da Disciplina – Tópicos

1. Introdução aos Conceitos de Orientação a Objetos

Conceitos orientação objetos.

Identidade de objeto, estrutura de objeto e contrutores de tipos. Encapsulamento de operações, métodos e persistência.

Hierarquias de classe e tipo, e herança.

(32)

Banco de Dados Orientado a Objetos

Hierarquias de Classe e Tipo, e Herança Herança

Da mesma forma que nas LPOO, nos SGBDOO podem-se criar novas classes em função das já existentes.

As principais vantagens de herança consistem em uma maior expressividade na modelagem dos dados, maior facilidade no reuso de objetos, definição de classes por refinamento e inexistência de código redundante

(33)

Banco de Dados Orientado a Objetos

Hierarquias de Classe e Tipo, e Herança Hierarquias de Classe e Tipo

Uma hierarquia de classes oferece muito mais flexibilidade para se mudar a estrutura de um banco de dados

O banco de dados OO é necessário ter um requisito adicional de permitir a definição de novos tipos

baseados em outros tipos predefinidos, formando uma hierarquia de tipos (ou de classe).

(34)

Banco de Dados Orientado a Objetos

Hierarquias de Classe e Tipo, e Herança Hierarquias de Classe e Tipo

– Um tipo, em sua forma mais simples, pode ser definido pela atribuição de um nome do tipo e depois listando os nomes de suas funções visíveis (públicas). O formato abaixo pode ser utilizado para especificar um tipo.

(35)

Banco de Dados Orientado a Objetos

Hierarquias de Classe e Tipo, e Herança Hierarquias de Classe e Tipo

– Por exemplo, um tipo que descreve as características de uma PESSOA pode ser definido como:

– PESSOA: Nome, Endereço, Data_de_Nascimento, Idade

.

– O conceito de subtipo é útil quando o projetista ou o

usuário precisa criar um novo tipo semelhante, mas não idêntico a um tipo já definido. O subtipo herda, então, todas as funções do tipo predefinido, que podemos chamar de supertipo.

(36)

Banco de Dados Orientado a Objetos

Hierarquias de Classe e Tipo, e Herança Hierarquias de Classe e Tipo

– Suponhamos que desejamos definir dois novos tipos ESTUDANTE e FUNCIONARIO.

– ESTUDANTE: Nome, Endereço, Data_de_Nascimento, Idade, Especialização, Media_Pontos.

– FUNCIONARIO: Nome, Endereço, Data_de_Nascimento, Idade, Departamento, Cargo, Salario.

(37)

Banco de Dados Orientado a Objetos

Hierarquias de Classe e Tipo, e Herança Hierarquias de Classe e Tipo

– A idéia da definição de um tipo envolve definir todas as funções e implementá-las como atributos ou como

métodos.

– Somente as funções que são específicas ou locais ao subtipo e que, portanto, não foram especificadas no supertipo, precisam ser definidas e implementadas.

(38)

Banco de Dados Orientado a Objetos

Hierarquias de Classe e Tipo

– Voltando ao nosso exemplo

– PESSOA: Nome, Endereço, Data_de_Nascimento, Idade

.

– ESTUDANTE: Nome, Endereço, Data_de_Nascimento,

Idade, Especialização, Media_Pontos.

– FUNCIONARIO: Nome, Endereço, Data_de_Nascimento, Idade, Departamento, Cargo, Salario.

(39)

Banco de Dados Orientado a Objetos

Hierarquias de Classe e Tipo

– Podemos declarar ESTUDANTE e FUNCIONARIO da seguinte forma:

– ESTUDANTE subtype-of PESSOA: Especialização, Media_Pontos

– FUNCIONARIO subtype-of PESSOA: Departamento, Cargo, Salario

(40)

Banco de Dados Orientado a Objetos

Conteúdo da Disciplina – Tópicos

1. Introdução aos Conceitos de Orientação a Objetos

Conceitos orientação objetos.

Identidade de objeto, estrutura de objeto e contrutores de tipos. Encapsulamento de operações, métodos e persistência.

Hierarquias de classe e tipo, e herança.

(41)

Banco de Dados Orientado a Objetos

Objetos Complexos

– Existem dois tipos principais de objetos complexos: • estruturados e

• não estruturados.

– Os objetos são considerados complexos porque exigem uma grande área de armazenamento e não são parte dos tipos de dados padrões fornecidos pelos SGBDs convencionais.

(42)

Banco de Dados Orientado a Objetos

Objetos Complexos – Não Estruturados

– Uma vantagem é que eles permitem o armazenamento e a recuperação de grandes objetos que são necessários à aplicação do banco de dados.

– Imagens bitmap e strings de texto longo são exemplos de objetos complexos não estruturados.

– Por que são objetos não estruturados ?

– SGBD não conhece suas estruturas – somente a

(43)

Banco de Dados Orientado a Objetos

Objetos Complexos – Não Estruturados

– Suponha que a aplicação precise selecionar a partir de uma coleção de objetos, do tipo bitmap, somente

aqueles que incluam certo padrão.

– Nesse caso, o usuário deverá fornecer o programa de reconhecimento do padrão, como um método de objetos do tipo bitmap.

– O SGBDOO recupera, então, um objeto do banco de dados e aplica nele o método para reconhecimento do padrão para determinar se o objeto adere ao padrão

(44)

Banco de Dados Orientado a Objetos

Objetos Complexos – Estruturados

– A estrutura do objeto é definida pela aplicação recursiva dos construtores de tipo oferecidos pelo SBDOO.

– Considere o objeto DEPARTAMENTO.

• No primeiro nível o objeto possui uma estrutura de tupla com seis atributos: DNOME, DNUMERO, GER,

(45)

Banco de Dados Orientado a Objetos

Referências

Documentos relacionados

O plano adota a marcação na curva e tem a maior parte de seus recursos aplicados no segmento de Renda Fixa, sendo mais de 83% dos recursos garantidores alocados em

Como não se conhece parâmetros hematológicos do pacu-manteiga Mylossoma duriventre Cuvier, 1817, a proposta do presente estudo foi descrever tais parâmetros em espécimes

Depois de validada a receita, o farmacêutico deve ter o cuidado de esclarecer o utente relativamente ao esquema terapêutico. É fundamental perceber se se trata de um

É_Realizada n n (0,3) (0,n) Inscrição Nome RG Expedidor UF Data Média Tipo Nota Questões Número Área Sub-Área Avaliação 3 n Esquema ER para o banco de dados CONCURSO..

Marca Vendedor Veículo Ford João Carro Ford João Caminhão Ford Mário Caminhão Fiat Mário Carro Chevrolet Felipe Carro Chevrolet João Carro Chevrolet João

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro

A baixa taxa de desconto ao longo dos anos de produção do campo, para o cálculo da função objetivo, aliada a baixa produção de água que a locação de

 A alocação dinâmica é muito utilizada em problemas de estrutura de dados como por exemplo, listas encadeadas, pilhas, filas, arvores binárias e grafos ...  O interessante