Produção Textual Interdisciplinar - Individual - 4° Semestre
-
Upload
fabricio-reis -
Category
Documents
-
view
220 -
download
5
Transcript of Produção Textual Interdisciplinar - Individual - 4° Semestre
![Page 1: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/1.jpg)
Juazeiro2013
FABRÍCIO DOS REIS SOUZA
SISTEMA DE ENSINO PRESENCIAL CONECTADOTECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
ATIVIDADE INTERDISCIPLINAR INDIVIDUAL
![Page 2: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/2.jpg)
Juazeiro2013
ATIVIDADE INTERDISCIPLINAR INDIVIDUAL
Trabalho de Fabrício dos Reis Souza apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média bimestral nas disciplinas de Modelagem Orientada a Objetos, Redes de Computadores, Desenvolvimento Orientado a Objetos.
Orientadores: Prof. Marcio Roberto Chiaveli. Prof. Paulo Kiyoshi Nishitani. Prof.ª Polyanna P. Gomes Fabris.
FABRÍCIO DOS REIS SOUZA
![Page 3: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/3.jpg)
SUMÁRIO
2 INTRODUÇÃO 3
3 OBJETIVO 4
4 DESENVOLVIMENTO 5
4.1 com relação a banco de dados, defina os conceitos das propriedades acid de
uma transação. 5
4.1.1 Atomicidade 5
4.1.2 Consistência 5
4.1.3 Isolamento5
4.1.4 Durabilidade 5
4.2 Pesquise e justifique em quais sistemas operacionais o exemplo da Locadora
pode ser desenvolvido 6
4.3 Estrutura de dados do tipo Fila e Pilha mencione quais são apontadores de
cada estrutura, suas ordens para inclusão, exclusão e pesquisa 6
4.3.1 Qual a vantagem que a Alocação duplamente encadeada tem sobre
Alocação simplesmente encadeada 7
4.4 No estudo de caso em grupo “Nossa Locadora de Livros”, foi apresentado o
Diagrama de Caso de Uso e solicitando o Diagrama de Classe 7
4.4.1 Quais as vantagens esses diagramas podem trazer ao projeto de
desenvolvimento de software? 7
4.4.2 Com que finalidade o Diagrama de Caso de Uso é criado?8
4.4.3 Quem utiliza esse diagrama? Quanto a notação do diagrama, quais
informações são apresentadas na fase de análise e quais são apresentadas na fase
de projeto? 8
4.5 Existem três temas importantes referentes à administração que deve ser
levado em consideração na criação de uma empresa: Existem três temas
importantes referentes à administração que deve ser levado em consideração na
criação de uma empresa: 8
5 CONCLUSÃO 12
REFERÊNCIAS 13
![Page 4: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/4.jpg)
2 INTRODUÇÃO
O banco de dados é importante para que todas as informações
fiquem armazenadas, simplificando a sua gravação e tornando os dados mais fáceis
de serem manipulados. Os Bancos de Dados, além de manterem todo o volume de
dados organizado, também executam tarefas e comandos que podem ser
previamente programadas por uma pessoa um DBA (Data Base Administrator) que
define os serviços a serem realizados pelo sistema baseado nas rotinas de sua
empresa. Os bancos de dados orientados a objeto iniciaram-se primeiramente em
projetos de pesquisa nas universidades e centros de pesquisa. Em meados dos
anos 80, eles começaram a se tornar produtos comercialmente viáveis, já o modelo
relacional foi o primeiro modelo de banco de dados formal. Somente depois seus
antecessores, os bancos de dados hierárquicos e em rede, passaram a ser também
descritos em linguagem formal. Ou seja, a finalidade do modelo Relacional é
proporcionar um modelo matemático para a estruturação de um banco de dados que
seja formalmente descrito.
3
![Page 5: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/5.jpg)
3 OBJETIVO
Compreender como funciona e qual a diferença entre banco de
dados orientado a objetos e banco de dados relacional e entender o que são ORMs
e suas principais ferramentas.
4
![Page 6: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/6.jpg)
4 DESENVOLVIMENTO
4.1 BANCO DE DADOS ORIENTADO A OBJETOS.
Um banco de dados orientado a objetos é um banco de dados
em que cada informação é armazenada na forma de objetos, ou seja, utiliza a
Estrutura de dados denominada Orientação a objetos, a qual permeia as linguagens
mais modernas. O gerenciador do banco de dados para um orientado a objeto é
referenciado por vários como ODBMS ou OODBMS.
Existem dois fatores principais que levam a adoção da
tecnologia de banco de dados orientados a objetos. A primeira, é que em um banco
de dados relacional se torna difícil de manipular com dados complexos (esta
dificuldade se dá pois o modelo relacional se baseia menos no senso comum
relativo ao modelo de dados necessário ao projeto e mais nas contingências práticas
do armazenamento eletrônico). Segundo, os dados são geralmente manipulados
pela aplicação escrita usando linguagens de programação orientada a objetos, como
C++, C#, Java, Python ou Delphi (Object Pascal), e o código precisa ser traduzido
entre a representação do dado e as tuplas da tabela relacional, o que além de ser
uma operação tediosa de ser escrita, consome tempo. Esta perda entre os modelos
usados para representar a informação na aplicação e no banco de dados é também
chamada de “perda por resistência”Atomicidade
A propriedade de atomicidade garante que as transações sejam
atômicas (indivisíveis). A transação será executada totalmente ou não será
executada.
4.1.1 Aplicação e Mecanismo de Funcionamento
Num banco de dados orientado a objetos puro, os dados são
armazenados como objetos onde só podem ser manipulados pelos métodos
definidos pela classe de que estes objetos pertencem. Os objetos são organizados
numa hierarquia de tipos e subtipos que recebem as características de seus
supertipos. Os objetos podem conter referências para outros objetos, e as
5
![Page 7: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/7.jpg)
aplicações podem consequentemente acessar os dados requeridos usando um
estilo de navegação de programação.
A maioria dos banco de dados também oferecem algum tipo de
linguagem de consulta, permitindo que os objetos sejam localizados por uma
programação declarativa mais próxima. Isto é, na área das linguagens de consulta
orientada a objetos. A integração da consulta com a interface de navegação faz a
grande diferença entre os produtos que são encontrados. Uma tentativa de
padronização foi feita pela ODMG (Object Data Management Group) com a OQL
(Object Query Language).
O acesso aos dados pode ser rápido porque as junções geralmente
não são necessárias (como numa implementação tabular de uma base de dados
relacional), isto é, porque um objeto pode ser obtido diretamente sem busca,
seguindo os ponteiros.
Outra área de variação entre os produtos é o modo que este schema
do banco de dados é definido. Uma característica geral, entretanto, é que a
linguagem de programação e o schema do banco de dados usam o mesmo modo de
definição de tipos.
Aplicações multimídia são facilitadas porque os métodos de classe
associados com os dados são responsáveis pela correta reprodução.
Muitos bancos de dados orientados a objetos oferecem suporte a
versões. Um objeto pode ser visto de todas as várias versões. Ainda, versões de
objetos podem ser tratadas como objetos na versão correta. Alguns bancos de
dados orientados a objetos ainda provêem um suporte sistemático a triggers e
constraints que são as bases dos bancos ativos.
4.1.2 Diferença entre BDOO e BDR
O objetivo dos BDOO é o encapsulamento, sendo assim os dados são
associados a uma classe específica que usa métodos peculiares. Com esse
funcionamento os dados só podem ser utilizados pelos métodos dessa classe, e
essa classe pode ser utilizada por diferentes aplicações. Esta perda entre os
modelos usados para representar a informação na aplicação e no banco de dados é
também chamada de perda por resistência. Os Bancos de Dados Relacionais tem
por objetivo a independência dos dados, pois são separados do processamento e
6
![Page 8: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/8.jpg)
normalizados, dessa forma os dados podem ser utilizados por diversas aplicações
mesmo não previstas no projeto. Os BDR armazenam apenas dados, enquanto os
BDOO armazenam estruturas com dados e métodos sendo assim, no relacional o
usuário vê os dados como tabelas, já nos BDOO as estruturas podem ser
complexas, porém elas não são visíveis ao usuário em função do encapsulamento.
A redundância de dados no modelo relacional é tratada por meio da normalização,
por sua vez o modelo BDOO devido ao encapsulamento e a herança fornecem
dados não redundantes. Os BDR foram desenvolvidos para prover acesso facilitado
aos dados, possibilitando que os usuários utilizassem uma grande variedade de
abordagens no tratamento das informações, pois enquanto em um banco de dados
hierárquico os usuários precisam definir as questões de negócios de maneira
específica, iniciando pela raiz do mesmo nos BDR os usuários podem fazer
perguntas relacionadas aos negócios através de vários pontos.
4.2 ORM (OBJECT RELATIONAL MAPPER) MAPEAMENTO OBJETO
RELACIONAL
É uma técnica de desenvolvimento utilizada para reduzir a
impedância da programação orientada aos objetos utilizando bancos de dados
relacionais. As tabelas do banco de dados são representadas através de classes e
os registros de cada tabela são representados como instâncias das classes
correspondentes.
Com esta técnica, o programador não precisa se preocupar com os comandos em
linguagem SQL; ele irá usar uma interface de programação simples que faz todo o
trabalho de persistência.
Não é necessária uma correspondência direta entre as tabelas de
dados e as classes do programa. A relação entre as tabelas onde originam os dados
e o objeto que os disponibiliza é configurada pelo programador, isolando o código do
programa das alterações à organização dos dados nas tabelas do banco de dados.
A forma como este mapeamento é configurado depende da ferramenta que estamos
a usar. Como exemplo, o programador que use Hibernate na linguagem Java pode
usar arquivos XML ou o sistema de anotações que a linguagem providencia.
7
![Page 9: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/9.jpg)
4.3 COMO DESENVOLVER UTILIZANDO O MODELO ORIENTADO A OBJETOS
COM UM BANCO DE DADOS RELACIONAL
Os bancos de dados OO evoluíram muito nos últimos cinco anos, e
atingiram maturidade e performance surpreendentes. As novas estratégias de
armazenamento e recuperação permitem que esses bancos consigam um tempo de
resposta geralmente melhor do que as subsequentes chamadas a um banco
relacional, necessárias para desmontar e remontar objetos. Vários fabricantes
oferecem produtos que suportam diretamente encapsulamento, herança e
polimorfismo – características fundamentais dos objetos. Caché, da InterSystems, é
um representante dessa categoria.
Embora seja mais fácil desenvolver suas aplicações orientadas a
objeto utilizando os recursos de um banco de dados OO, muitas vezes temos que
fazer integração com uma base relacional que não pode ser modificada. O modelo
relacional foi amplamente empregado nos últimos quinze anos, e não podemos
simplesmente “descartar” todas as aplicações já construídas. Esses sistemas devem
coexistir pacificamente com as novas aplicações OO. Nesse ponto destacam-se os
bancos de dados pós-relacionais. Oferecendo um suporte aos dois modelos, objeto
e relacional, esses produtos permitem que todo o investimento nas antigas
aplicações seja preservado, enquanto as novas aplicações são construídas
utilizando a tecnologia de objetos. A ideia é evolução, e não revolução.
O Caché é um banco de dados pós-relacional que possui uma
arquitetura unificada de dados. Objetos e tabelas são descritos por um meta-modelo,
e o próprio banco de dados se encarrega de fazer o mapeamento em ambas as
direções. Ao criarmos uma classe, o banco cria as tabelas correspondentes; quando
alteramos uma tabela, a definição da classe é automaticamente atualizada. O
acesso aos objetos e tabelas é independente, diferentemente do que ocorre quando
um banco relacional oferece uma “visão” de objetos, empilhando camadas de
mapeamento. Além disso, sua estrutura de armazenamento multidimensional
permite a manipulação de coleções e objetos através de um único acesso.
Quando uma query SQL é executada pela primeira vez, ela é
analisada e otimizada (como em outros bancos de dados). Entretanto, o Caché gera
uma stored procedure que é mantida em cache, e reutilizada para todas as
chamadas subsequentes.
8
![Page 10: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/10.jpg)
O Caché suporta desenvolvimento em Java, Enterprise JavaBeans,
C++, Caché ObjectScript, Corba e ActiveX. Possui mecanismos para geração e
armazenamento de documentos XML. Suporta conexões JDBC e ODBC.
4.3.1 Ferramentas ORM disponíveis no mercado
Foi criada uma lista onde as ferramentas foram classificadas em
Inativos, Free e Pagos. Os Inativos são o que não obtiveram releases lançados nos
últimos anos e tiveram seu desenvolvimento paralisado, provavelmente.
Produtos Inativos
DotNorm
Eldorado.NET
JC Persistent Framework
ObjectBroker
OPF.Net (Object Persistent Framework)
ORM.NET
Sisyphus Persistence Framework
iBATIS.NET
NEO
Produtos Free
9
![Page 11: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/11.jpg)
Gentle.NET
MyGeneration
Subsonic
NHibernate
DataTier Generator
CODUS
ObjectMapper
Produtos Pagos
LLBLGen Pro
DataObjects.NET
NDO.NET
DEV Force
4.4 VANTAGENS E DESVANTAGENS DA ORM
Vantagem na utilização do Mapeamento Objeto Relacional
Escrever menos código e programar com muito mais produtividade.
O código fica mais elegante.
É mais fácil de dar manutenção no projeto.
10
![Page 12: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/12.jpg)
Melhora a padronização da sua aplicação.
Desvantagem na utilização do Mapeamento Objeto Relacional
De acordo com Marcio Aguiar Ribeiro as desvantagens do ORM são as seguintes,
divididas em Tabela por Hierarquia, Tabela por Classe Concreta e Tabela por
Classe:
Desvantagens na ORM em Tabela por Hierarquia:
A modificação de uma classe pode afetar outras classes na hierarquia
Desperdício de espaço
Pode gerar tabelas muito grandes
Atributos não podem ter restrições do tipo not-null.
Desvantagens na ORM em Tabela por Classe Concreta:
Modificação de uma classe acarreta na modificação de sua tabela e todas as
classes filhas
Dificuldade de manter diversos papéis para um único objeto
Dificuldade de modificar um papel de um objeto
Desvantagens na ORM em Tabela por Classe:
Muitas tabelas
Potencialmente lento
11
![Page 13: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/13.jpg)
5 CONCLUSÃO
Neste trabalho foi identificado que a orientação a objetos é a
tendência, porém deve-se levar em consideração o fato deste apresentar baixo
desempenho, assim como as primeiras linguagens de programação que tudo era um
objeto, os BDOOs sofrem com o desempenho. Quando só existia o BDR, surgiu à
necessidade de armazenar dados complexos, uma ótima solução foi o BDOO,
entretanto, por seu desempenho pouco satisfatório ainda não é muito utilizado.
Apesar de toda a variedade de ferramentas disponíveis no mercado, a utilização da
tecnologia de bancos de dados orientados a objeto permanece bastante pequena,
quando comparada ao modelo relacional, o Modelo de Banco de Dados Relacional
prevalece em relação aos outros modelos por que, além de ser o único modelo que
foi extensamente tratado de forma teórica, os modelos pré-existentes foram fruto de
implementações. Enquanto os modelos subsequentes, como o modelo orientado a
objetos, não apresentavam um campo tão rico para novas teorias, mas apresentam
grandes desafios para a implementação eficiente das operações necessárias. Ou
seja, o Banco de Dados Relacional foi desenvolvido para prover acesso facilitado
aos dados, possibilitando que os usuários utilizassem uma grande variedade de
abordagens no tratamento das informações.
12
![Page 14: Produção Textual Interdisciplinar - Individual - 4° Semestre](https://reader036.fdocumentos.com/reader036/viewer/2022082620/577cc9c91a28aba711a49ebb/html5/thumbnails/14.jpg)
REFERÊNCIAS
OKANO, Marcelo. Análise dos melhores ORM (Object-Relational Mapping) para plataforma. NET. DevMeda, [S.l.]. Disponível em: Acesso em: 11 out. 2013.
Site Wikipédia Banco de Dados Orientado a Objetos Disponível em: http://pt.wikipedia.org/wiki/Banco_de_dados_orientado_a_objetos> acessado em 11 Out. 2013.
Site Linha de Código Uma Nova Era na Tecnologia dos Bancos de Dados Disponível em:http://www.linhadecodigo.com.br/artigo/68/uma-nova-era-na-tecnologia-dos-bancos-de-dados.aspx#ixzz2hTAE78eo> acessado em 11 Out. 2013.
13