MAPEAMENTO OBJETO-RELACIONAL EM JAVA E PHP
|
|
|
- Giovana Gorjão Sacramento
- 10 Há anos
- Visualizações:
Transcrição
1 4 MAPEAMENTO OBJETO-RELACIONAL EM JAVA E PHP Josiel Silva Moura 1 Carlos David Rocha de Souza 1 RESUMO Atualmente, é comum o uso de bancos de dados relacionais no meio corporativo e da programação orientada a objetos nas aplicações de interface. Os desenvolvedores frequentemente deparam-se com estes dois paradigmas diferentes: o modelo relacional e o modelo de objetos. Este estudo tem como objetivo apresentar as principais técnicas de persistência de objetos, com relevância na técnica de Mapeamento Objeto-Relacional em Java. Compreender os conceitos da técnica ORM é o primeiro passo para usar efetivamente os frameworks disponíveis. Palavras-chave: Objeto-Relacional, Banco de Dados, Java, PHP. ABSTRACT Currently, it is common to use relational databases in the corporate environment and object-oriented programming interface for applications. Developers often are faced with these two different paradigms: the relational model and object model. This study aims to present the main techniques for object persistence, with relevance to the technique of Object- Relational Mapping in Java. Understand the concepts of ORM technique is the first step to effectively use the available frameworks. Key-Words: Object-Relational, Database, Java, PHP. 1 INTRODUÇÃO A orientação a objeto provê diversos benefícios em relação a sua predecessora (a análise estruturada), tais como encapsulamento, polimorfismo, herança, etc. Essas características proporcionam soluções muito mais fáceis de representação através da orientação a objeto traduz os objetos do mundo real da forma como eles realmente são em oposição à representação de funcionalidades como era na análise estruturada. Se, por um lado, as aplicações são beneficiadas por uma abordagem orientada a objeto, a persistência dos dados nos bancos relacionais demanda uma atenção muito maior, pois a tradução entre esses dois mundos não é direta. Como existem diferenças conceituais entre o modelo relacional usados pelos bancos de dados e a orientação a objetos, acabou surgindo a técnica de mapeamento objeto-relacional (ORM). Ess a técnica sugere como devemos persistir o estado de um objeto (atributos, relacionamentos e herança) em tabelas de banco de dados relacional. Diversas plataformas e linguagens promovem essa técnica através de frameworks. Na plataforma Java existe o consagrado framework Hibernate (Hibernate, 21) e o padrão chamado JPA (Biswas, et al., 20). Em PHP temos o LUMINE (Lumine, 20). Já na plataforma.net também podemos encontrar o NHibernate (um porte do Hibernate para.net) e o Microsoft ObjectSpaces (Esposito, 20), dentre outros. Compreender os conceitos da técnica ORM é o primeiro passo para usar efetivamente os frameworks disponíveis. Scott W. Ambler em (Ambler, 20) e (Ambler, 20), descreve minuciosamente essa técnica, além de discutir o gap conceitual entre o modelo relacional e a orientação a objetos. 2. MAPEAMENTO OBJETO-RELACIONAL Grande parte do desenvolvimento de aplicações modernas utiliza a tecnologia orientada a objetos, mas mantém como principal meio de persistência os bancos de dados relacionais (NASSU, et al., 1999). Enquanto o paradigma da orientação a objetos é baseado em princípios provados pela engenharia de software, o paradigma relacional é baseado em princípios matemáticos, especificamente em teoremas da álgebra relacional. Por consequência das diferenças entre os dois modelos, há uma dificuldade do ponto de vista técnico para a implementação rápida e descomplicada de aplicações que envolvam programação em linguagem orientada a objetos e o armazenamento de informações em um SGBD relacional. Esse é um problema recorrente que recebeu o nome de "Impedance Mismatch" (Ambler, 20) Há uma diferença de representação: os objetos são referenciados em memória, enquanto os dados são referenciados por chaves em tabelas, que existem fisicamente. Além disso, os objetos possuem campos multivalorados, ao contrário do modelo relacional, onde os dados devem ser atômicos. Veremos agora como fazer o mapeamento das relações da orientação a objetos, como dependência, agregação, composição e herança entre os objetos de um programa orientado a objetos para bancos de dados relacionais, os quais armazenam dados em linhas e colunas de tabelas que mantêm ligações lógicas entre si pela utilização de chaves estrangeiras. 2.1 Chave de Identificação A forma que os bancos de dados relacionais encontram para dar unicidade aos seus registros é a criação de chaves primárias nas tabelas, nas quais criamos uma coluna cujo valor-chave é não-repetitivo e não-nulo (Date, 20). Os objetos de um sistema não precisam de tal chave para se tornarem únicos. A unicidade dos objetos em memória é controlada por mecanismos da própria linguagem de programação, a qual geralmente oferece On-line Interdisciplinar: Revista Eletrônica da Univar (21) nº. 6 p. 4-8
2 5 meios de se referenciar um objeto, ou mesmo de clonar um objeto já existente, controlando sua identidade por meio de um OID (Object Identifier) (Dall'Oglio, 20). De qualquer forma, dois objetos distintos são armazenados em regiões diferentes da memória e referenciados por suas variáveis. Como compatibilizar então o modelo conceitual e o modelo de dados da aplicação? A resposta consiste da criação da chave primária do registro também para os objetos de negócio da aplicação. A adoção dessa chave é de suma importância, uma vez que lemos as informações de um registro do banco de dados, instanciamos um objeto de negócio com tais informações, modificamos esse objeto e, em um dado momento, desejamos armazenar esse objeto novamente no banco de dados, substituindo suas informações originais. Isso é possível somente pela sua chave primária. 3. UMA SITUAÇÃO DE NEGÓCIO Para demonstrar esses conceitos, imagine que você possua uma estante repleta de livros e seja solicitado o desenvolvimento de um sistema para catalogar os livros e que o principal objetivo desse seja facilitar a consultar (busca) por um livro. A consulta deve ser feita pelo título do livro ou pelo autor. Em nosso sistema, a principal entidade deve ser o Livro, mas esse depende de algumas outras, tais como, Editora e Autor, esses não podem ser um atributo da entidade Livro, pois a Editora possui vários campos próprios (campo multivalorado) e um Livro poderá ter vários Autores (campo não-atômico). Veja abaixo o diagrama de Entidade- Relacionamento simplificada para nosso sistema de catálogo de livros. Figura 1:Diagrama criado no MySQL Workbench (21) No mundo relacional um relacionamento um para um não é visto como uma boa prática de design, devendo ser utilizado apenas em casos especiais, conhecidos como particionamento horizontal ou vertical. Para esse tipo de associação, podemos adicionar uma chave estrangeira a uma das tabelas, mapeada para a chave estrangeira da outra tabela (Amaral, 20). Dessa forma não abordaremos esse tipo de relacionamento aqui. 4. RELACIONAMENTO UM-PARA-MUITOS Observe o diagrama abaixo, ele representa o relacionamento entre as entidades Livro e Editora. Esse relacionamento é um relacionamento do tipo um-paramuitos, porque uma Editora pode ter muitos Livros enquanto um livro pode pertencer apenas a uma editora. Figura 2: Diagrama de Entidade-Relacionamento 1:1 A implementação em Java dos relacionamentos um-para-muitos é relativamente simples. Na classe de multiplicidade muitos (Livro), adicione um atributo do tipo da classe de multiplicidade um (Editora) e os correspondentes métodos get s e set s para esse atributo. Não nos preocuparemos com os Autores do Livro por enquanto. 4.1 Implementando as Classes de Entidades Devemos iniciar pela entidade que não possui dependência, ou seja, que ela exista por si própria, não dependendo de outras entidades (Deitel, 20). Assim iniciaremos a criação a entidade Editora: 42 public class Editora { private String nome; private String cidade; private String site; public Editora(){ Listagem 1: Classe Editora.java Na classe Livro que possui dependência da classe Editora, devemos declarar o atributo editora do tipo Editora. Veja abaixo o código-fonte da entidade Livro: public class Livro { private String titulo; private String categoria; private String edicao; private String ano; private Editora editora; public Livro() { Listagem 2: Classe Livro.java 4.2 RELACIONAMENTO MUITOS-PARA- MUITOS On-line Interdisciplinar: Revista Eletrônica da Univar (21) nº. 6 p. 4-8
3 6 Como exemplo desse tipo de relacionamento, considere a relação livro-autor: um livro pode ser escrito por vários autores; um autor, por sua vez, pode escrever vários livros. Na implementação dos relacionamentos muitos-para-muitos em bancos de dados relacionais, a solução tem sido usar uma tabela associativa que represente o relacionamento (Murta, et al., 20). Para isso: Cria-se uma nova tabela no banco de dados para representar o relacionamento muitospara-muitos entre duas tabelas; Inclue-se como chave estrangeira dessa tabela as chaves primárias das tabelas que participam do relacionamento; Combina-se essas chaves estrangeiras para formar a chave primária da tabela associativa Veja diagrama o Digrama de Entidaderelacionamento para o contexto descrito: Na entidade Livro, iremos apenas acrescentar o atributo autores do tipo List da classe java.util.list, e seus respectivos get s e set s import java.util.list; public class Livro { private String titulo; private String categoria; private String edicao; private String ano; private Editora editora; private List<Autor> autores; public Livro() { Listagem 4: Classe Livro.java modificada As linhas que acrescentadas estão em destaque na listagem acima. Durante o projeto, colunas adicionais podem ser incluídas nas tabelas, visões que suportem requisitos de consulta e relatório podem ser criadas e índices podem ser elaborados para otimizar o desempenho. Não devem ocorrer grandes reestruturações da tabela ao longo do projeto do sistema, pois isso demonstra que a arquitetura não está estabilizada. Figura 3: Diagrama de Entidade-Relacionamento para livro e autor. 4.3 Implementando as Classes de Entidades Já na implementação dos relacionamentos muitos-para-muitos em programação orientada a objeto, utiliza-se campos multivalorados do tipo coleção, optou-se aqui por criar uma lista de autores na entidade Livro, assim iniciaremos a codificação pela entidade Autor. public class Autor { private String nome; private String ; public Autor() { Listagem 3: Classe Autor.java 5 MAPEAMENTO DE OBJETO RELACIONAL EM PHP UTILIZANDO TABLE DATA GATEWAY A utilização de mapeamento de objetorelacioal era algo distante quanto ao uso da linguagem PHP já que a mesma não provia de métodos para persistência de dados em um banco de dados método o qual é bem desenvolvido nas plataformas JAVA e.net. Em um contexto amplo e geral persistência significa continuar a existir, perseverar, durar longo tempo ou permanecer. Em uma linguagem de programação ou um plano de negócios persistência significa a possibilidade de esses objetos existirem em um meio externo à aplicação que os criou, de modo que esse meio deve permitir que o objeto perdure não deve ser um meio volátil, meio ao qual os bancos de dados modelo relacional utilizam tão bem com métodos específicos de cadê fabricante utilizando a linguagem SQL para armazenagem e manipulação de dados, mas existem conceitos na orientação a objetos para os quais o modelo relacional simplesmente não oferece suporte, levando ao paradigma de diferentes conceitos, o modelo relacional que utiliza a codificação estrutural e o orientado a objeto que trabalha com abstração e instanciação e encapsulamento de objetos. A implementação do código abaixo busca solucionar o problema do banco relação em relação à síntese de orientação a objeto em PHP. Para mapear o objeto Editora, foi utilizada a técnica de pattern Table Data Gateway (Fowler, 20) que oferece uma On-line Interdisciplinar: Revista Eletrônica da Univar (21) nº. 6 p. 4-8
4 interface de comunicação com o banco de dados que permite operações de inserção, alteração, exclusão e busca de registro. Implementando uma classe responsável em persistir e retornar dados do banco de dados. Para isso existem métodos específicos que traduzem sua função em instruções SQL <?php class EditoraGateway { * método insert function insert($codigo, $nome, $cidade, $site) { // cria instrução SQL de insert $sql = "INSERT INTO editora (codigo, nome, cidade, site)". " VALUES ('$codigo', '$nome', '$cidade', '$site')"; >exec($sql); * método update function update($codigo, $nome, $cidade, $site) { // cria instrução SQL de UPDATE $sql = "UPDATE editora set nome = '$nome', ". " cidade = '$cidade', site = '$site' ". " WHERE codigo = '$codigo'"; >exec($sql); * método delete function delete($codigo) { // cria instrução SQL de DELETE $sql = "DELETE FROM editora where codigo='$codigo'"; >exec($sql); * método getobject * busca um registro da tabela editora function getobject($codigo) { // cria instrução SQL de SELECT $sql = "SELECT * FROM editora where codigo='$codigo'"; // executa consulta SQL $result = >query($sql); $data = $result- >fetch(pdo::fetch_assoc); return $data; * método getobjects * lista todos registros da tabela editora function getobjects() { // cria instrução SQL de SELECT $sql = "SELECT * FROM editora"; // executa consulta SQL $result = >query($sql); $data = $result- >fetchall(pdo::fetch_assoc); return $data; // instancia objeto ProdutoGateway $gateway = new EditoraGateway; On-line Interdisciplinar: Revista Eletrônica da Univar (21) nº. 6 p. 4-8
5 8 // insere alguns registros na tabela $gateway->insert(null, 'Novatec', 'São Paulo', ' $gateway->insert(null, 'Moderna', 'São Paulo', ' $gateway->insert(null, 'Univar', 'Barra do Garças', ' // efetua algumas alterações $gateway->update(1, 'Novatec', 'São Paulo - SP', ' $gateway->update(2, 'Moderna', 'São Paulo', ' // exclui $gateway->delete(3); // exibe novamente os registros echo "Lista de Editoras<br>\n"; print_r($gateway->getobjects());?> Listagem 5: Arquivo EditoraGateway.php Ao trabalhar com Table Data Gateway é necessário criar uma classe para manipulação de cada tabela de banco de dados, e apenas uma instancia dessa classe irá manipular todos os registros da tabela. 6 CONSIDERAÇÕES FINAIS Este artigo apresentou uma abordagem para o armazenamento de objetos Java em bancos de dados relacionais. A principal contribuição deste trabalho é prover uma solução transparente e acessível para o problema de mapeamento objeto-relacional. Apesar da relutância de alguns em adotar esquemas de persistência, fica evidente que sua utilização traz um ganho considerável de tempo na implementação de um sistema e eleva a qualidade do produto final, à medida que diminui a possibilidade de erros de codificação. O mapeamento objeto relacional pode ser feito tanto manualmente quanto automaticamente. O processo de mapeamento objeto relacional manual, que foi abordado neste artigo, é trabalhoso, pois torna-se necessário definir, para cada classe do sistema, como esta se relaciona e como será armazenada. Já o processo automático, suportado por uma ferramenta de mapeamento torna esse processo mais simples, mas nem sempre o torna transparente. Assim este trabalho cumpri o objetivo de mostrar a transparência desse processo, para em um trabalho futuro mostrar como é feito em um processo automatizado utilizando um framework disponível. 7 REFERENACIA BIBLIOGRÁFICAS AMARAL, Fernando. Dicas de Mapeamento Objeto/Relacional. 20. Disponivel em < go=55>. Acessado em 21 de abril de 21. em < >. Acessado em 20 de abril de 21. The Object-Relational Impedance Mismatch. 20. Disponivel em < html>. Acessado em 16 de abril de 21. BISWAS, Rahul and Ort. The Java Persistence API - A Simpler Programming Model for Entity Persistence. 20. Disponivel em < a-7156.html>. Acessado em 30 de maio de 21. DALL'OGLIO, Pablo. PHP: programando com orientação a objetos. São Paulo : Novatec Editora, 20. DATE, C.J. Introdução a Sistemas de Bancos de Dados. São Paulo : Campus, 20. DEITEL, Paul J. Java: Como Programar. 6ª ed. Prentice-Hall, 20. ESPOSITO, Dino. A First Look at ObjectSpaces in Visual Studio Disponivel em < Acessado em 23 de maio de 21. FOWLER, Martin. Table Data Gateway. 20. Disponivel em < y.html>. Acessado em 20 de abril de 21. HIBERNATE. Hibernate - JBoss Community. 21. Disponivel em < Acessado em de abril de 21. LUMINE. Lumine - Database Mapping for PHP. 20. Disponivel em < Acessado em 23 de abril de 21. MURTA, Leonardo Gresta Paulino, Veronese, Gustavo Olanda and Werner, Cláudia Maria Lima. MOR: Uma Ferramenta para o Mapeamento. Rio de Janeiro : UFRJ, 20. MySQL. MySQL Workbench. 21. Disponivel em < Acessado em 25 de maio de 21. NASSU, E. A. and SETZER, W. W. Banco de Dados Orientado a Objeto. 1ª Edição. Editora Edgar Bkucher Ltda, AMBLER, Scott W. Mapping Objects to Relational Databases: O/R Mapping In Detail. 20. Disponivel On-line Interdisciplinar: Revista Eletrônica da Univar (21) nº. 6 p. 4-8
Persistência de dados com JPA. Hélder Antero Amaral Nunes [email protected]
Persistência de dados com JPA Hélder Antero Amaral Nunes [email protected] O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco
UFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares [email protected] Aula 10 Persistência de Dados
Persistência e Banco de Dados em Jogos Digitais
Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate
Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil [email protected],
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano
Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores
Prof.: Clayton Maciel Costa [email protected]
Programação com acesso a BD Prof.: Clayton Maciel Costa [email protected] 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos
Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2
Desenvolvimento Web III Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2 Prof. Mauro Lopes 1-31 21 Objetivos Nesta aula iremos trabalhar a manipulação de banco de dados através
Introdução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44
Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, [email protected], COPPE/UFRJ. Leonardo Gresta Paulino Murta, [email protected], IC/UFF. Vanessa Braganholo,
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Uso do SQLite no Android Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender a persistir dados utilizando o banco de dados SQLite. Conhecer e utilizar a classe SQLiteOpenHelper.
SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS
SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica
Principais Comandos SQL Usados no MySql
Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)
HIBERNATE EM APLICAÇÃO JAVA WEB
HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected], [email protected] Resumo: Este
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta
Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Especificação do Trabalho
Especificação do Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação, ligação,
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses
Tarefa Orientada 16 Vistas
Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um
Curso Superior de Tecnologia em BD
Curso Superior de Tecnologia em BD Modelagem de Dados Aula 01 Revisão Modelos de Dados Existem modelos para diferentes níveis de abstração de representação de dados modelos conceituais modelos lógicos
Banco de Dados. Arquitetura e Terminologia. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.
Banco de Dados Arquitetura e Terminologia Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br [email protected] 2015 Modelo de Dados e Esquemas O modelo de Banco de Dados é como um detalhamento
EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS
Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor
Persistência em Software Orientado a Objetos:
Persistência em Software Orientado a Objetos: Abordagens Utilizando Frameworks OpenSource Marcelo Santos Daibert Orientador: Marco Antônio Pereira Araújo Co-Orientadora: Alessandreia Marta de Oliveira
UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.
UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL Java Peristence API 1.0 Salvador-Ba Março/2009 1 RAMON PEREIRA LOPES Java Peristence API
JPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação [email protected] Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
NOME SEXO CPF NASCIMENTO SALARIO
Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento
Capítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 22 Associações entre Classes Objetivos do Capítulo Indicar os diferentes aspectos de um relacionamento entre classes que podem ser expressos através de uma associação. Descrever o significado
UFG - Instituto de Informática
UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares [email protected] Aula 7 JPA A Persistência com JPA Para configurar o JPA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS
Noções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
UML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Resolvendo objeto-relacional impedance mismatch com hibernate
Resolvendo objeto-relacional impedance mismatch com hibernate August 7, 2013 Sumário I 1 Introdução 2 3 4 Sumário II 5 Contexto Mapeamento Objeto-Relacional (ORM) é uma técnica de programação para converter
APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL
1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)
PHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira [email protected] Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Banco de Dados. Maurício Edgar Stivanello
Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado
APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA
APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso
Técnicas de Normalização por Phaser
Técnicas de Normalização por Phaser http://phpbrasil.com/articles/article.php/pagerrow/0/id/146 Dos fatores mais importantes no desenvolvimento de páginas dinâmicas é a definição de banco de dados. Se
PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos
MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java
MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java Leonardo Gresta Paulino Murta Gustavo Olanda Veronese Cláudia Maria Lima Werner {murta, veronese, werner}@cos.ufrj.br COPPE/UFRJ Programa
Oficina. Praça das Três Caixas d Água Porto Velho - RO
Oficina Praça das Três Caixas d Água Porto Velho - RO Oficina Ministrante: Marcel Leite Rios Apresentação Pessoal Marcel Leite Rios Prof. de Informática IFRO Graduado: Sistemas de Informação - ULBRA MBA
Padrões de projeto 1
Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois
Desenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
Roteiro 2 Conceitos Gerais
Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e
Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate
Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil [email protected] 2 Universidade
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre
Persistência de Dados em Java com JPA e Toplink
Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida
[email protected]
Persistência Com JPA & Hibernate Rui Rossi dos Santos [email protected] Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos
LINGUAGEM DE BANCO DE DADOS
LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected], [email protected] Resumo.
COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA
73 COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA Daniel José Angotti Analista de Negócio, Repom S/A [email protected] Carlos
04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.
MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância
Classes de Entidades Persistentes JDB
Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena
SISTEMAS DE INFORMAÇÃO GERENCIAIS
SISTEMAS DE INFORMAÇÃO GERENCIAIS Aluno: Luiza Cavalcanti Marques Orientador: Silvio Hamacher Introdução A modelagem e a utilização de bancos de dados em atividades gerenciais têm sofrido um aumento significativo
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA
Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro ([email protected]) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro ([email protected]) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Banco de Dados. Sérgio Luiz Ruivace Cerqueira [email protected]
Banco de Dados Sérgio Luiz Ruivace Cerqueira [email protected] Roteiro Mapeamento de objetos para modelo relacional Estratégias de persistência Persistência JDBC Mapeando Objetos para o Modelo Relacional
Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2
Universidade Federal de Goiás Ciências da Computação Sistemas Operacionais 2 MongoDB Diego Fraga - 083746 Gabriel Henrique - 083771 Lauro Henrique - 074259 O que é MongoDB? - MongoDB é uma ferramenta de
Algoritmos e Programação (Prática) Profa. Andreza Leite [email protected]
(Prática) Profa. Andreza Leite [email protected] Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Documento de Projeto de Sistema
Documento de Projeto de Sistema 1 IFES / Serra Projeto: Gerenciador de Pelada - Oasis Registro de Alterações: Versão Responsável Data Alterações 0.1 Eduardo Rigamonte, Geann Valfré, João Paulo Miranda,
UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II
UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de
ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE
ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected]
Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2
.:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento
O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE
O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil [email protected], [email protected] Resumo. Este artigo
Sistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
4.6. SQL - Structured Query Language
4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando
Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011
Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva
Especificação do 3º Trabalho
Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo
Android e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios
BANCO DE DADOS Fixação dos conteúdos Integridade Referencial Normalização Exercícios BANCO DE DADOS X SGBD Banco de Dados: Um "banco de dados" pode ser definido como um conjunto de "dados" devidamente
UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
RESUMO. Palavras-chave: Persistência. Framework ORM. JPA. Benckmark. ABSTRACT
BENCHMARK DE FRAMEWORK MAPEAMENTO OBJETO-RELACIONAL (ORM) UMA ANÁLISE UTILIZANDO JAVA PERSISTENCE API (JPA) FRAMEWORK S BENCHMARK OBJECT-RELATIONAL MAPPING (ORM) - AN ANALYSIS USING JAVA PERSISTENCE API
Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 11 Conceitos de Orientação a Objetos Objetivos do Capítulo Introduzir os conceitos fundamentais da Programação Orientada a Objetos. Apresentar o significado dos objetos e das classes no contexto
Modelagem de dados e uso do SGBD MySQL
CURSO DE VERÃO EM BIOINFORMÁTICA ESTRUTURAL Modelagem de dados e uso do SGBD MySQL Modelagem e projeto de banco de dados Arquitetura de três esquemas [1] USUÁRIOS Nível externo Visão externa Mapeamento
Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. [email protected] DCC-IME-USP
Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai [email protected] DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme
Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.
Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos
Parte I. Demoiselle Mail
Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework
CURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Metodologia para Representação da Estruturação de Dados Geoespacial Vetorial (EDGV) em Bancos de Dados Geográficos Relacionais
Metodologia para Representação da Estruturação de Dados Geoespacial Vetorial (EDGV) em Bancos de Dados Geográficos Relacionais Rogério Luís Ribeiro Borba 3, Guilherme L. A. Mota 1,3, Jorge Luís Nunes e
PHP Programando com Orientação a Objetos
PHP Programando com Orientação a Objetos 2 a edição Pablo Dall Oglio Novatec Sumário Sobre o autor... 13 Agradecimentos... 14 Nota do autor... 16 Organização do livro... 18 Capítulo 1 Introdução ao PHP...
ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello [email protected]
SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello [email protected] 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side
Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de
Capítulo 8: BDs Objecto-Relacional Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Objectos e Referência
Aula 1 Acesso a Banco de Dados
Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva [email protected] Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores
Projeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
Modelo de Dados. Modelos Conceituais
Modelo de Dados Modelo para organização dos dados de um BD define um conjunto de conceitos para a representação de dados exemplos: entidade, tabela, atributo,... existem modelos para diferentes níveis
Engenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf ([email protected]) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Desenvolvendo Websites com PHP
Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução
BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho [email protected] www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho [email protected] www.diemesleno.com.br BANCO DE DADOS Unidade 1 - Introdução Dados; Banco de Dados; Base de Dados; Projeto de Banco de Dados.
