MySQL. Transacções em MySQL



Documentos relacionados
DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

Programação Orientada a Objetos JDBC Java Database Connectivity

Programação com Acesso a Banco de Dados

Integrando Java com Banco de Dados

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

JPA: Persistência padronizada em Java

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?


JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Aula 1 Acesso a Banco de Dados

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

JAVA JDBC Java Database Connectivity

JAVA JDBC COMO FUNCIONA. Programação Orientada a Objetos Flávio de Oliveira Silva 315. Programação Orientada a Objetos Flávio de Oliveira Silva 316

- O MySQL para além da sua utilização em modo linha de comandos, também pode ser utilizado através de ferramentas gráficas.

JDBC. Prof. Márcio Bueno

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Acesso a Bancos de Dados em Java (JDBC)

Banco de Dados. Prof. Leonardo Barreto Campos 1

Banco de Dados. Sérgio Luiz Ruivace Cerqueira

Persistência de dados com JPA. Hélder Antero Amaral Nunes

Criar uma aplicação JPA2 com EclipseLink e H2

Manipulação de Banco de Dados com Java 1. Objetivos

JDBC - Java Data Base Connectivity

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

Programação Orientada a Objetos (DPADF 0063)

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

UFG - Instituto de Informática

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

Persistência de Classes em Tabelas de Banco de Dados

JDBC Java Database Connectivity

Bases de Dados. Lab 1: Introdução ao ambiente

Tecnologias Java JDBC. Marcio Seiji Oyamada

JDBC Acessando Banco de Dados

Leonardo Gresta Paulino Murta

Linguagens de Programação

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Curso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais

Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu.

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

Solutions for Information Technologies. BIS-Navegador. IBM DB2 UDB v8.x

Persistindo dados com TopLink no NetBeans

Solutions for Information Technologies. BIS-Navegador. Manual de Instalação para Microsoft SQL Server

Programação em Rede JDBC

JAVA 14 ODBC / JDBC Aceder a Bases de Dados através da Internet. Vitor Vaz da Silva

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

Acessando dados em Java com JDBC

Acessando bancos de dados com o JDBC

JDBC Tópicos avançados de acesso a base de dados relacional

Oracle SQL Developer

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

JDBC. Java DataBase Connectivity

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Acesso a banco de dados

Banco de Dados. Maurício Edgar Stivanello

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Ficha prática nº 7. SGBD Microsoft Access e SQL Server

O módulo possui um submódulo para a definição dos schemas da base de dados.

TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018

Bases de Dados 1º semestre

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Orientação a Objetos

Disciplina: Unidade V: Prof.: Período:

1 R$ 50,00 R$ 50,00 reusable object-oriented software 2 Utilizando UML e padrões: uma

Especialização em web com interfaces ricas

Java na WEB Banco de Dados

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

JDBC (Fundamentos) Sang Shin Java Technology Architect Sun Microsystems, Inc.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

MySQL. Prof. César Melo. com a ajuda de vários

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Desenvolvimento de Sistemas de Informação

Persistência de Dados em Java com JPA e Toplink

Java JDBC - I. Ex. 2: para o SQLServer da Microsoft, o driver JDBC pode ser obtido em

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

Sumário Introdução Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL A Composição deste Livro 3

(UFF) JDBC (I) TEPIS II

INTRODUÇÃO AO MODELO ADO.NET (DESCONECTADO)

EXEMPLOS DE COMANDOS NO SQL SERVER

Desenvolvimento Web TCC Turma A-1

Android e Bancos de Dados

Java JDBC Aplicação Java com Acesso a um SGBD. Ricardo Terra (rterrabh [at] gmail.com) Java JDBC Maio, 2010

Bases de Dados 2007/2008. Aula 1. Referências

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

Bases de Dados. Lab 7: Desenvolvimento de aplicações com PHP

Java Persistence API. Entity Entity Campos e Propriedades Entity Chaves Primárias Entity Associações

Resolvendo objeto-relacional impedance mismatch com hibernate

Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql

Fernando Freitas Costa. Pós-Graduando em Gestão e Docência Universitária. blog.fimes.edu.br/fernando nando@fimes.edu.br

Transcrição:

(QJHQKDULDGH6RIWZDUH MySQL 2001, 2004 (QJHQKDULD GH6RIWZDUH Departamento de Engenharia Informática Instituto Superior Técnico 1 Transacções em MySQL Criar um directório InnoDB, com os subdirectórios data e logs Adicionar ao ficheiro my.cnf, na secção [mysqld] as entradas: innodb_data_file_path = data1:100m;data2:100m innodb_data_home_dir = \data setvariable = innodb_mirrored_log_groups= 1 innodb_log_group_home_dir = \logs setvariable = innodb_log_files_in_group=3 setvariable = innodb_log_file_size=30m setvariable = innodb_log_buffer_size= 8M innodb_flush_log_at_trx_commit=1 innodb_log_arch_dir =! " "$#%% "'&() \logs innodb_log_archive=0 setvariable = innodb_buffer_pool_size=80m setvariable = innodb_additional_mem_pool_size=10m setvariable = innodb_file_io_threads= 4 setvariable = innodb_lock_wait_timeout=50 Relançar o servidor (mysqldmax[nt]) Mais informações no Manual do MySQL 2 1

Importar instruções SQL mysql u< user> p< password> h< host> D< database> f < es2004tables.sql mysql u< user> p< password> h< host> D< database> f < ojbtables.sql 3 (QJHQKDULDGH6RIWZDUH JDBC 2001, 2004 (QJHQKDULD GH6RIWZDUH Departamento de Engenharia Informática Instituto Superior Técnico 4 2

JDBC JDBC in a nutshell Driver Connection Statement ResultSet 5 JDBC DriverManager, carrega os drivers específicos de cada BD, selecciona o driver correcto para o acesso à BD Driver, gere as ligações à BD, uma implementação por cada BD (MySQL, Oracle, etc.) Connection, representa uma ligação à BD, permite criar Statement s Statement, execução de instruções SQL na BD e, obtenção de ResultSet s ResultSet, contém resultado da execução de uma instrução SQL, um cursor permite ler os resultados 6 3

(QJHQKDULDGH6RIWZDUH OJB 2001, 2004 (QJHQKDULD GH6RIWZDUH Departamento de Engenharia Informática Instituto Superior Técnico 7 Arquitectura 8 4

Persistence Broker API Suporta um conjunto mínimo de operações Mapeamento O/ R Leitura de objectos da BD (SELECT) Escrever objectos na BD (INSERT, UPDATE) Apagar objectos da BD (DELETE) Cache de objectos Proxies de objectos proxies dinâmicos proxies de colecções proxies para referências Útil para aplicações simples 9 ODMG API Estende as funcionalidades do PB OQL Object Query Language Transacções (nos objectos!). Mecanismos de sincronização (Locks) Suporte a Collections e Hashtables persistentes 10 5

Exemplo ODMG // obtem interface ODMG / 01234035676 89 5:9 ;0<>=@?ABDC < 36/45E 67 5F3HG I'J // abre a BD K767L7E3>;LM=@9;0<NC 5 3 O K767L7E3HG I'J ;LHC 913 5PG Q4?ABRS319E869S!TPC U02VW K767L7E3NC?XYZ[\Y4]K4[^\'/_4YIJ // inicia uma transação _S7 5E7F689 5`64U:=M9;0<DC 5 3O_ S7 5E7F6 89 5HG I'J 64UDC L3 <8 5HG I'J a'85b7 c2 7E E3d03e? L'f3F69>=gCC C>J // lock para leitura 64UDC 29FhPG 03e?L'f3F69Wi_ S7 5E7F689 5DC \Y4]KI'J // aqui efecutase a leitura do objecto // lock para escrita 64UDC 29FhPG 03e?L'f3F69Wi_ S7 5E7F689 5DC j'xk\4]k YIJ // aqui efectuase a escrita do objecto // commit da transacao para tornar persistentes as alterações 64UDC F940 086NG IJ 11 Configurações OJB OJB.properties repositoryfile= OJB/ repository.xml repository.xml Propriedades JDBC para acesso à BD. driver, username, password, dbalias... repository_user.xml Mapeamento ObjectoRelacional 12 6

(...) Repository.xml (...) < MGEFFRQQHFWLRQGHVFULSWRU platform= "MySQL" jdbclevel="2.0" driver= "com.mysql.jdbc.driver" protocol= "jdbc" subprotocol="mysql" dbalias="// localhost:3306/ esxx" username= esxx" password= :)" /> 13 Repository_user.xml <! Definitions for Dominio.Item > < l'm n o op qsrol'tu vwxdt class= "Dominio.Item table= "ITEM > <! chave primária com geração automática de ids > < yu rsm qnp qsrol'tu vwxnt id= "1 name= "codigointerno column= "CODIGO_INTERNO jdbctype= "INTEGER primarykey= "true autoincrement= "true"/> <! descritor normal > < yu rsm qnp qsrol'tu vwxnt id= "2 name= "nome" column= "NOME jdbctype= "VARCHAR"/> (...) <! conversao entre tipos JAVA vs. JDBC > < yu rsm qnp qsrol'tu vwxnt id= "5" name= "urgente" column= "URGENTE jdbctype= "INTEGER" conversion= "org.apache.ojb.broker.accesslayer.conversions.boolean2intfieldconversion"/> <! chave estrangeira > < yu rsm qnp qsrol'tu vwxnt id= "6 name= "chaveseccao column= "CHAVE_SECCAO jdbctype= "INTEGER"/> <! proxy por referência > < t r'y rt rsz'lr p qsroltu vwxnt name= "seccao classref= "Dominio.Seccao proxy= "true"> < y xnt rsu {Dzs r'}~yu rsm qnp!u qnp!t r'y = "6"/> < /referencedescriptor> < /classdescriptor> 14 7

Repository_user.xml <! Definitions for Dominio.Seccao > < s D ' ƒ4 P D 's ˆN Š class= "Dominio.Seccao" table= "SECCAO"> (...) <! colecção de objectos > < Š D' Š Œ ƒ4 P D 's ˆN Š name= "itens" elementclassref= "Dominio.Item orderby="ordem" sort= "ASC proxy= true > < ŒD N P 4 ' Pƒ!Ž4Š 4 P Œ fieldidref= "6"/> < / collectiondescriptor> (...) < / classdescriptor> 15 Exercício 1/2 Criar suporte persistente para a classe Sitio 1. Adicionar mapeamento O/R ao ficheiro repository_user.xml de acordo com a definição da tabela SITIO (ver ficheiro es2004tables.sql) 2. Criar interface ISitioPersistente com os seguintes métodos ISitio readbynome(string nome) throws ExcepcaoPersistencia; void lockwrite(isitio sitio) throws ExcepcaoPersistencia; void delete(isitio sitio) throws ExcepcaoPersistencia; void deleteall() throws ExcepcaoPersistencia; 16 8

Exercício 2/2 3. Criar SitioOJB que implementa ISitioPersistente e herda de ObjectFenixOJB 4. Publicar a nova interface em ISuportePersistente ISitioPersistente getisitiopersistente(); 5. Actualizar a implementação SuportePersistenteOJB return new SitioOJB(); 17 9