Buscar

slide aula programacao orientada a objetos

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

Faculdade Montes Belos
Professor Esp. Welton Rodrigues
“ Banco de Dados 2”
Banco de Dados
	Bancos de dados são componentes importantes dos sistemas de informação (SIs) e consequentemente, o projeto do banco de dados apresenta-se como uma atividade essencial na fase de desenvolvimento dos SIs. Projetar bancos de dados tem se tornado uma atividade popular, as vezes realizada não somente por profissionais da área de banco de dados, mas também por não especialistas. 
	 Frequentemente, a falta de abordagens adequadas para o projeto de um banco de dados pode incorrer em resultados indesejáveis, como ineficiência em atender a demanda de aplicações e problemas com a manutenção do banco de dados. 
	Geralmente a causa disso é a falta de clareza em entender a natureza exata dos dados em um nível conceitual (abstrato).
Banco de Dados
	A técnica da orientação a objetos está cada vez mais popular para projetar e implementar sistemas de natureza variada. 
	Com relação a bancos de dados, essa técnica tem sido empregada, com predominância, nos casos aonde os dados envolvidos na aplicação considerada apresentam estrutura complexa. 
	A diferença existente entre os modelos de dados tradicionais (relacional, hierárquico e em redes) e os modelos de dados orientados a objetos está na maneira como eles vêem os dados. 
Banco de Dados
	Os modelos de dados tradicionais vêem os dados como uma coleção de tipos de registros ou relações, cada um tendo uma coleção de registros ou tuplas armazenadas em um arquivo. 
	Já num modelo de dados orientado a objetos um banco de dados é considerado como uma coleção de objetos do mundo real. 
Banco de Dados
Modelo Relacional
Banco de Dados
Modelo Orientado a Objeto
Comparação
BDOO X “Tradicionais”
Nos BDOO as informações sobre um objeto tendem a estar reunidas.
Nos BD “tradicionais” essas informações costumam ficar “pulverizadas” em várias tabelas e registros. 
9
Modelo Orientado à Objetos
Os bancos de dados orientados a objeto iniciaram-se primeiramente em projetos de pesquisa nas universidades e centros de pesquisa (início dos anos 80).
Existem atualmente ainda poucos produtos no mercado.
9
Objetos do Mundo Real?
Mais o que é um Objeto?
De acordo com o dicionário: 
Objeto: 
1. Tudo que se oferece aos nossos sentidos ou à nossa alma. 
2. Coisa material: Havia na estante vários objetos. 
3. Tudo que constitui a matéria de ciências ou artes. 
4. Assunto, matéria. 
5. Fim a que se mira ou que se tem em vista. 
Mais o que é um Objeto?
A figura acima destaca uma série de objetos. Objetos podem ser não só coisas concretas como também coisas inanimadas, como por exemplo uma matrícula, as disciplinas de um curso, os horários de aula. 
Como Funciona?
Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no software. Cada classe possui um comportamento (definidos pelos métodos) e estados possíveis (valores dos atributos) de seus objetos, assim como o relacionamento com outros objetos. 
A Proposta da Orientação a Objetos
	A proposta da Orientação a Objetos é representar o mais fielmente possível as situações do mundo real nos sistemas computacionais. Nós entendemos o mundo como um todo composto por vários objetos que interagem uns com os outros. 
	Da mesma maneira, a orientação a objetos consiste em considerar os sistemas computacionais não como uma coleção estruturada de processos, mas sim como uma coleção de objetos que interagem entre si.
Bancos OO
Vantagens
Capacidade de Armazenamento de Objetos;
Manipulação de Objetos complexos;
Poder de Processamento;
Não possuem Chaves Primarias nem estrangeiras;
Aumentando o desempenho das consultas e processos;
15
Bancos OO
Desvantagens
Falta de Padronização das linguagens de manipulação dos dados
Alto custo de aquisição e implantação
Curva de aprendizagem e adaptação ao novo ambiente demorada
16
Conceito OO...
	O mundo real é extremamente complexo. Tal complexidade pode ser percebida a medida que analisamos os detalhes de tal mundo, mesmo que nos concentremos em algum objeto em particular. Essa característica é transferida para o mundo computacional, quando da criação de uma solução computadorizada para um problema do mundo real. Alguns dos elementos fundamentais na geração desta complexidade são: 
• A complexidade do próprio domínio do problema; 
• A dificuldade no gerenciamento do processo de desenvolvimento do sistema; 
• O leque de variadas soluções que podem ser encontradas no projeto do sistema. 
O paradigma orientado a objeto procura administrar essa complexidade através de uma série de conceitos, tais como abstração, encapsulamento, modularização e hierarquia. 
Conceito OO...
ABSTRAÇÃO 
	Uma das principais formas do ser humano lidar com a complexidade é através do uso de abstrações. 
	As pessoas tipicamente tentam compreender o mundo, construindo modelos mentais de partes dele. Tais modelos são uma visão simplificada de algo, onde apenas elementos relevantes são considerados. 
	A abstração é aplicada de acordo com o interesse do observador, e por isso de um mesmo objeto pode-se ter diferentes visões,
Exemplo...
ABSTRAÇÃO 
	
Conceito OO...
ENCAPSULAMENTO 
	No mundo real, um objeto pode interagir com outro sem conhecer seu funcionamento interno. Uma pessoa, por exemplo, geralmente utiliza uma televisão sem saber efetivamente qual a sua estrutura interna ou como seus mecanismos internos são ativados. Para utilizá-la, basta saber realizar algumas operações básicas, tais como ligar/desligar a TV, mudar de um canal para outro, regular volume, cor, etc. 
	Como estas operações produzem seus resultados, mostrando um programa na tela, não interessa ao telespectador. 
	Os usuários tem conhecimento apenas das operações que podem ser realizadas e precisam estar cientes apenas do QUE as operações fazem, e não COMO elas estão implementadas
Conceito OO...
MODULARIDADE
	Muitos métodos de construção de software buscam obter sistemas modulares, isto é, construídos a partir de elementos que sejam autônomos, conectados por uma estrutura simples e coerente. 
	Modularidade é crucial para se obter manutenibilidade, reusabilidade e extensibilidade, com consequente redução de custos. 
	Modularidade é uma propriedade de sistemas decompostos em um conjunto de módulos coesos (elementos internos logicamente relacionados) e fracamente acoplados (dependência entre os módulos). Assim, abstração, encapsulamento e modularidade são princípios sinergéticos. Um objeto provê uma fronteira clara em torno de uma abstração e o encapsulamento e a modularidade provêem barreiras em torno dessa abstração.
Conceito OO...
Herança
	Compartilhamento de atributos e operações entre classes com base em um relacionamento hierárquico. 
Então...
A expressão orientado a objeto refere-se ao conceito de redução da identidade e das complexidades de todas as coisas de um sistema ao estado de simples objetos. No mundo orientado a objeto todas as pessoas, coisas, eventos e transações são consideradas objetos. Esta aproximação é diametralmente oposta às abordagens tradicionais que se concentram na separação de dados e processos.
	A orientação a objeto baseia-se nos seguintes conceitos:
	Abstração - O projeto de sistemas deve basear-se em atributos abstratos e nos processos e não na implementação de tarefas
	Encapsulamento - As operações devem ser autônomas e independentes umas das outras
	Partilhamento - Nenhuma função deve ser armazenada, movida ou manipulada mais do que o estritamente necessário
 
	Polimorfismo - As características das operações e dados devem ser ligadas aos objetos. No mundo orientado a objeto nenhum programador trabalha com tabelas e sim com um objeto que é a combinação dos programas e tabelas que o compõem. Para adicionar um registro de empregado a uma tabela em um ambiente não orientado a objeto o programa deve obter todas as informações sobre o empregado, validar lexicalmente a entrada, verificar a classificação
e as interdependências entre esse registro e os já existentes no banco de dados e, finalmente, fazer a inclusão do registro. No ambiente orientado a objeto cria-se um objeto empregado. Esse objeto faz todas as rotinas de validações e faz a inclusão do registro para o programa. O trabalho do usuário final reduz-se substancialmente.
São conceitos importantes na orientação o objeto:
	Herança - Os objetos possuem uma hierarquia de pertinência a diversas super classes, classes e sub classes
Tipos de Bancos OO
CACHÉ
VERSANT
DB4Objects
O2
GEMSTONE
GEMSTONE
JASMINE
middleware
Objectivity/DB
Ozone
24
Conclusão
	Ao estudar BDOO percebe-se que sua conceituação traz novos recursos antes não existentes nos bancos de dados puramente relacionais. Estes recursos surgiram pelo largo uso de linguagens de programação orientadas à objetos. Um dos desafios, é a grande quantidade de aplicações estáveis que usam bancos relacionais. Por isso, grande é o esforço em prol de padronizar as linguagens de acesso aos bancos orientados à objetos de forma a difundir seu uso e aplicabilidade. 
	
O que veremos na próxima aula?
<?php
class Condesc{ //DEFINE A CLASSE CHAMADA Condesc
 
    protected $Host='';
    protected $Usuario='';
    protected $Senha='';
    protected $Banco='';
    protected $Conexao;
     
    function InserirDados($Query){ //FUNÇÃO PARA INSERT, DELETE E UPDATE
        $Conexao = mysql_connect($this->Host, $this->Usuario, $this->Senha);//CRIA A CONEXÃO
        mysql_select_db($this->Banco, $Conexao);//SELECIONA O BANCO
        mysql_query($Query, $Conexao); //EXECUTA A QUERY NO BANCO
        mysql_close($Conexao);
    }
        function ConsultarDados($Query){ //FUNÇÃO PARA SELECT
        $Conexao = mysql_connect($this->Host, $this->Usuario, $this->Senha); //CRIA A CONEXÃO
        mysql_select_db($this->Banco, $Conexao); //SELECIONA O BANCO
        $rs=mysql_query($Query, $Conexao); //ATRIBUI VALOR DA QUERY A VARIÁVEL $rs
        return $rs; //RETORNA O VALOR DA VARIÁVEL
        mysql_close($Conexao); //FECHA CONEXÃO
    }
}
?>
Trabalho 01
Lista de Atividades – Valor 0,3
1 - O que são Bancos de Dados Orientados à Objetos (BDOO)?
2 - Cite exemplos de BDs com características OO:
3 - Cite as características que um BD deve ter para ser considerado Orientado à Objetos e descreva-as.
4 - O que são Sistemas Gerenciadores de Bancos de Dados Objeto-Relacionais (SGBDOR)?
5 - Que características um BD deve ter para ser considerado Objeto-Relacional?
6 - Cite exemplos de SGBDs do mercado que possuem as características de objeto-relacional:
7 - O Postgresql é um SGBDOR(objeto-relacional) ou Orientado a Objeto? Porque?
.

Teste o Premium para desbloquear

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

Continue navegando