Mapeamento Objeto-Relacional Usando o TMS Aurelius

Tamanho: px
Começar a partir da página:

Download "Mapeamento Objeto-Relacional Usando o TMS Aurelius"

Transcrição

1 Mapeamento Objeto-Relacional Usando o TMS Aurelius Desenvolver sistemas com banco de dados é um dos usos mais comuns do Delphi. Porém lidar com comandos SQL pode ser uma tarefa enfadonha. Em geral, ao construirmos um sistema de banco de dados, o processo é geralmente o mesmo: 1. Configurar uma conexão 2. Criar um TSQLQuery ou outro descendente de TDataset que execute comandos SQL 3. Montar o comando SQL e executá-lo via TSQLQuery 4. Abrir o TDataset e rer os registros lendo os valores usando objetos TField Tem sido mais ou menos assim desde o início do Delphi e obviamente é um método consagrado - mas tem suas desvantagens. Temos que montar o SQL manualmente e lembrar os nomes dos campos e tabelas no banco, tanto na hora de montar a SQL quanto na hora de ler os valores. Se fizermos um refactor do banco, temos que rever todos os nossos comandos SQL. Como alternativa, podemos usar uma framework de mapeamento objeto-relacional. Com ela, o processo é diferente: nós fazemos um mapeamento inicial, para informar como cada classe será salva no banco de dados e, a partir daí, não trabalhamos mais com SQL ou TDataset: manipulamos apenas os objetos. O objetivo deste artigo é mostrar como usar uma framework de mapeamento objeto-relacional pra construir aplicações de bancos de dados. A framework utilizada será o TMS Aurelius (http://www.tmssoftware.com/site/aurelius.asp). Criando uma conexão A primeira coisa a se fazer é configurar uma conexão ao banco de dados. O TMS Aurelius não exige que você aprenda quase nada de novo aqui, porque na verdade ele não tem componentes de conexão ao banco de dados ele simplesmente utiliza os que você tem na sua aplicação. São disponibilizados adapters onde você apenas passa o componente de conexão que você utiliza. A listagem 1 mostra como obter uma conexão do Aurelius a partir de uma conexão dbexpress. Listagem 1 Criando uma conexão uses Aurelius.Drivers.Interfaces, Aurelius.Drivers.dbExpress; Conexao: IDBConnection; Conexao := TDbExpressConnectionAdapter.Create(SQLConnection1, False); O componente SQLConnection1 é um componente dbexpress do tipo TSQLConnection que já existe na sua aplicação, ou que você tenha criado só pro Aurelius. É lá que você irá configurar sua conexão e, para usá-la no Aurelius, apenas use o adapter pra obter uma interface IDBConnection. Essa iável Conexao que criamos na Listagem 1 será usada em todos os exemplos daqui pra frente.

2 Existem adapters para vários tipos de componentes. Se você não usa o dbexpress e portanto não tem um componente TSQLConnection, você pode usar o SQL-Direct (TSDDatabase), AnyDac (TADConnection), IBX (TIBDatabase), ADO (TADOConnection) e vários outros. O Aurelius também irá criar os comandos SQL de acordo com os banco de dados ao qual a aplicação está se conectando. No caso do dbexpress ele detectou automaticamente o tipo de banco com base na propriedade DriverName do TSQLConnection, mas você pode especificar explicitamente qual banco você está utilizando. As opções são muitas: Oracle, SQL Server, Interbase, Firebird, MySQL, Nexus, DB2, SQLite, PostgreSQL, entre outros. Mapeando a classe Você pode utilizar uma classe já existente ou criar uma classe nova. O Aurelius possui o recurso de automapeamento, o que facilita bastante. Veja o exemplo da listagem 2. Listagem 2 Mapeamento automático de classe [Automapping] TPessoa = class private FId: integer; FNome: string; FCidade: string; FTelefone: string; property Id: integer read FId; property Nome: string read FNome write FNome; property Cidade: string read FCidade write FCidade; property Telefone: string read FTelefone write FTelefone; Na listagem 2, estamos dizendo: essa classepode ser salva no banco (Entity) e deve ser feito um mapeamento automático dos campos (Automapping). O Aurelius irá sal essa classe na tabela Pessoa, que terá quatro campos: Id, Nome, Cidade e Telefone, o primeiro do tipo integer e os demais do tipo char. Você pode definir tudo isso manualmente, usando atributos. Isso pode ser útil se você já tiver uma aplicação existente, com tabelas já definidas, e quer apenas começar um novo módulo na aplicação usando o Aurelius. Nesse caso você cria sua classe do jeito que você quer e faz um mapeamento manual à tabela e campos existentes, como no exemplo da listagem 3. Listagem 3 Mapeamento manual de classe [Automapping] [Table( TBL_PESSOAS )] [Sequence( SEQ_PESSOAS )]

3 [Id('FId', TIdGenerator.IdentityOrSequence)] TPessoa = class Private [Column('PS_ID', [TColumnProp.Unique, TColumnProp.Required, TColumnProp.NoUpdate])] FId: integer; [Column('PS_NOMEPESSOA_A', [TColumnProp.Required], 100)] FNome: string; [Column('PS_CIDADE_A', [TColumnProp.Required], 50)] FCidade: string; [Column('PS_FONE_A', [TColumnProp.Required], 15)] FTelefone: string; property Id: integer read FId; property Nome: string read FNome write FNome; property Cidade: string read FCidade write FCidade; property Telefone: string read FTelefone write FTelefone; Criando o banco de dados Opcional Você pode criar as tabelas e campos automaticamente, baseado nas classes que você definiu e mapeou. Claro que se você já tem um banco existente, não precisa realizar essa etapa. A listagem 4 mostra como criar a estrutura do banco: Listagem 4 Criando o banco de dados DatabaseManager: TDatabaseManager; DatabaseManager := TDatabaseManager.Create(Conexao); DatabaseManager.BuildDatabase; DatabaseManager.Free; Gerando classes a partir do banco de dados Como mencionamos, se o banco já existe você pode apenas criar a classe e mapeá-la para a tabela e campos existentes. Pra facilitar esse trabalho, o Aurelius trabalha integrado com a ferramenta Data Modeler. Essa ferramenta permite que você importe toda a estrutura do banco de dados para modelagem e, além dos recursos de comparação de bancos, geração de scripts SQL de criação e atualização do banco, também possui uma opção para gerar automaticamente um código-fonte com todas as classes já mapeadas, a partir das tabelas existentes. Figura 1 Opção para criação de classes a partir da estrutura do banco

4 A geração de classes é bem flexível você pode gerar automaticamente a partir das configurações padrão, ou pode utilizar a janela de configuração pra definir o mapeamento específico qual classe será criada, qual propriedade, etc.. A figura 2 mostra uma parte de um banco de dados importado pelo Data Modeler, e a listagem 5 é um exemplo de uma classe gerada automaticamente, pra tabela Orders. Figura 2 Tabelas existentes no banco Listagem 5 Classe mapeada gerada automaticamente pelo Data Modeler [Table('Orders')] [Id('FOrderID', TIdGenerator.IdentityOrSequence)] TOrder = class private [Column('OrderID', [TColumnProp.Required, TColumnProp.NoInsert, TColumnProp.NoUpdate])] FOrderID: integer; [Column('OrderDate', [])]

5 FOrderDate: Nullable<TDateTime>; [Column('ShippedDate', [])] FShippedDate: Nullable<TDateTime>; [Association] [JoinColumn('CustomerID', [], 'CustomerID')] FCustomer: Proxy<TCustomer>; [Association] [JoinColumn('EmployeeID', [], 'EmployeeID')] FEmployee: Proxy<TEmployee>; [ManyValuedAssociation([], [TCascadeType.SaveUpdate, TCascadeType.Merge], 'FOrderID')] FOrderDetailsList: Proxy<TList<TOrderDetails>>; function GetCustomer: TCustomer; procedure SetCustomerID(const Value: TCustomers); function GetEmployee: TEmployee; procedure SetEmployee(const Value: TEmployee); function GetOrderDetailsList: TList<TOrderDetails>; constructor Create; destructor Destroy; override; property OrderID: integer read FOrderID; property OrderDate: Nullable<TDateTime> read FOrderDate write FOrderDate; property ShippedDate: Nullable<TDateTime> read FShippedDate write FShippedDate; property Customer: TCustomer read GetCustomer write SetCustomer; property Employee: TEmployee read GetEmployee write SetEmployee; property OrderDetailsList: TList<TOrderDetails> read GetOrderDetailsList; Salvando objetos no banco Uma vez definida a conexão, o mapeamento e, com as tabelas prontas no banco de dados, é hora de começar efetivamente a construir a aplicação. Como mencionado, a partir de agora toda a aplicação fica baseada em objetos. A listagem 6 mostra como criar uma nova pessoa no banco de dados: Listagem 6 Salvando um objeto Pessoa: TPessoa; Manager: TObjectManager; Pessoa := TPessoa.Create; Pessoa.Nome := 'Oswaldo'; Pessoa.Cidade := 'Sao Paulo'; Pessoa.Telefone := '(11) '; Manager := TObjectManager.Create(Conexao); Manager.Save(Pessoa); Manager.Flush; IdPessoa := Pessoa.Id;

6 Manager.Free; Até a criação do TObjectManager, o código é Delphi puro e simples apenas manipulação de objetos. Então criamos um gerenciador (de objetos), o TObjectManager, pra sal esse objeto no banco. Note que passamos para o gerenciador a interface Conexao que criamos anteriormente. O método Save informa que estamos salvando um objeto novo, e o método Flush diz ao gerenciador para efetuar no banco todas as alterações que fizemos (no caso, solicitamos um salvamento). O Aurelius então irá montar a SQL, setar os parâmetros de acordo com as propriedades do objeto, e efeutar o INSERT na tabela. Se você está usando um Id do tipo identity ou sequence, você pode obter o valor gerado através da propriedade Id, conforme o exemplo. Outra observação importante: note que não destruímos o objeto Pessoa. Isso não é um memory leak uma vez que o objeto passa a ser gerenciado pelo TObjectManager (nesse caso quando chamamos o Save), ele será destruído automaticamente quando não for mais necessário. Assim podemos usar os objetos tranquilamente, inclusive as associações, sem nos preocuparmos em destruí-los. Atualizando objetos Para atualizar objetos já existentes, basta buscá-los, alterá-los e chamar o Flush novamente. A listagem 7 mostra como alterar o telefone da pessoa que acabamos de criar. Listagem 7 Atualizando objetos Manager: TObjectManager; Pessoa: TPessoa; Manager := TObjectManager.Create(Connection); Pessoa := Manager.Find<TPerson>(IdPessoa); Pessoa.Telefone := (11) ; Manager.Flush; Manager.Free; É interessante notar que o Aurelius detecta apenas as propriedades alteradas (no caso Telefone) e executa o Update atualizando apenas esse campo. Isso ajuda o desempenho em aplicações multiusuário e evita que um usuário sobrescreva o que o outro alterou. O SQL executado seria o seguinte (considerando o mapeamento manual da listagem 2): UPDATE TBL_PESSOAS SET PS_FONE_A=:p0 WHERE PS_ID=:p1;

7 Herança Um recurso interessante do Aurelius é o suporte a herança. Como estamos trabalhando com classes e objetos, é útil e sensato que herança, um recurso básico de orientação a objetos, possa ser utilizada. Por exemplo, podemos criar as seguintes novas classes (Listagem 8): Listagem 8 Classes herdadas [Automapping] [Inheritance(TinheritanceStrategy.JoinedTables)] [Table( TBL_PESSOAFISICA )] TPessoaFisica = class(tpessoa) private FCPF: string; property CPF: string read FCPF write FCPF; [Automapping] [Inheritance(TinheritanceStrategy.JoinedTables)] [Table( TBL_PESSOAJURIDICA )] TPessoaJuridica = class(tpessoa) private FCNPJ: string; property CNPJ: string read FCNPJ write FCNPJ; Nesse caso, o Aurelius irá criar duas novas tabelas, TBL_PESSOAFISICA e TBL_PESSOAJURIDICA, ambas relacionadas à tabela TBL_PESSOA através de uma chave estrangeira. A tabela da pessoa física terá um campo CPF e a da jurídica um campo CNPJ. É possível também configurar o Aurelius pra sal todas as classes em uma mesma tabela. A listagem 9 mostra como sal uma classe TPessoaJuridica. Listagem 9 salvando uma classe herdada Pessoa: TPessoaJuridica; Manager: TObjectManager; Pessoa := TPessoa.Create; Pessoa.Nome := 'Embarcadero'; Pessoa.Cidade := 'Sao Paulo'; Pessoa.Telefone := '(11) '; Pessoa.CNPJ := / ; Manager := TObjectManager.Create(Conexao); Manager.Save(Pessoa);

8 Manager.Flush; IdPessoaJuridica := Pessoa.Id; Manager.Free; Alguma diferença em relação à listagem 6? Nenhuma. A única diferença é que estamos lidando com uma outra classe, e portanto temos propriedades diferentes no caso, a propriedade CNPJ. O Aurelius se encarregará de fazer todos os SQL s necessários. No caso, ele irá executar um INSERT na tabela TBL_PESSOA, salvando os campos nome, cidade e telefone, obter o Id dessa tabela, e fazer um INSERT na tabela TBL_PESSOAJURIDICA, salvando o campo cnpj e também o Id gerado, pra definir a chave estrangeira com a tabela TBL_PESSOA. O interessante dessa abordagem é que na hora de desenvolver a aplicação, tudo fica mais fácil podemos organizar as classes e objetos de acordo com nossa lógica de negócio e toda a geração complexa de SQL s fica a cargo do framework. Associações Todo banco de dados tem relacionamentos e assim também devemos ter nas classes. Como cada classe corresponde (geralmente) a uma tabela, os relacionamentos são definidos justamente através de propriedades cujo tipo são classes. Observe a classe definida e mapeada na listagem 10: Listagem 10 Classes com associações [Automapping] TNotaFiscal = class private FId: integer; FPessoa: TPessoa; FData: TDateTime; FItens: TList<TItemNota>; constructor Create; destructor Destroy; override; property Id: integer read FId; property Pessoa: TPessoa read FPessoa write FPessoa; property Data: TDateTime read FData write FData; property Itens: TList<TItemNota> read FItemNota write FItemNota; A classe TNotaFiscal será mapeada pra uma tabela NotaFiscal. Note que essa classe tem uma propriedade do tipo TPessoa. Isso significa que a tabela NotaFiscal terá uma chave estrangeira pra tabela Pessoa (relacionamento muitos-pra-um). E também há uma lista de itens (classe TitemNota, que omitimos na listagem). O Aurelius irá criar uma tabela ItemNota e irá relacionar com a tabela NotaFiscal (uma nota pode ter muitos itens).

9 É interessante lembrar também que, como a nota fiscal está relacionada com uma classe TPessoa, podese utilizar qualquer objeto do tipo TPessoa, e isso inclui objetos do tipo TPessoa Juridica ou TPessoaFisica. A listagem 11 mostra como seria o salvamento de uma nota fiscal: Listagem 11 Salvando objetos com associações Pessoa: TPessoa; Nota: TNotaFiscal; ItemNota: TItemNota; Manager: TObjectManager; Manager := TObjectManager.Create(Conexao); Nota := TNotaFiscal.Create; Nota.Data := Date; Nota.Pessoa := Manager.Find<TPessoa>(IdPessoaJuridica.Id); ItemNota := TItemNota.Create; ItemNota.Produto := 'Martelo'; ItemNota.Valor := 10; Nota.Itens.Add(ItemNota); Manager.Save(Nota); Manager.Flush; Manager.Free; Pesquisas (Queries) Finalmente, após sal e atualizar os objetos, o que se precisa é uma forma de encontrá-los no banco. O Aurelius fornece uma API pra realizar consultas. É semelhante ao uso de comandos SQL você define os critérios de busca, filtros, ordenação, agrupamento, etc.. A Listagem 12 mostra um exemplo de consulta. Listagem 12 Executando uma consulta Manager: TObjectManager; Notas: TObjectList<TNotaFiscal>; Manager := TObjectManager.Create(Conexao); Notas := Manager.CreateCriteria<TNotaFiscal>.CreateAlias('Pessoa', 'p').where(tlinq.greaterthan('data', EncodeDate(2010, 1, 1)) and (TLinq.Like('p.Cidade', '%do Sul%'))).AddOrder(TOrder.Asc('Data'))

10 .List; // use a lista Notas como quiser // por exemplo, for Nota in Notas do... Notas.Free; Manager.Free; No exemplo da listagem 12, estamos buscando todas as notas fiscais cuja data seja maior que 01/01/2010 e também onde o nome da cidade da pessoa relacionada à nota contenha o texto do Sul. Solicitamos também que as notas sejam trazidas ordenadas por data. Podemos verificar duas coisas: primeiro, é possível fazer pesquisas pelas associações (assim como faríamos usando SQL com LEFT ou INNER JOIN). Segundo, a herança também tem o seu papel aqui. Como a nota fiscal pode estar relacionada a pessoa, pessoa jurídica ou pessoa física, a busca também deve seguir esse critério. Portanto, o Aurelius irá executar um SQL que irá fazer a busca nas três tabelas, e retornará todas as notas que atendem ao critério estabelecido, sejam pessoas jurídicas ou físicas. Demais recursos Vale lembrar que existem vários outros recursos: - Propriedades Nullable: Você pode definir propriedades como Nullable (que recebem valores null). - Carga tardia (lazy-loading): Ao carregar um objeto com associações (NotaFiscal.Pessoa por exemplo), pode-se configurar a propriedade Pessoa de modo que o Aurelius só busque os dados da pessoa quando realmente essa propriedade for acessada. - Campos Blob: pode-se usar campos blob (binário, texto) e também definir uma carga tardia pra eles (só trazer o conteúdo do campo quando necessário). - Outros tipos de Id: além do tipo integer, pode-se usar outros tipos de chave primária como string e data, bem como chaves compostas (apesar de não ser uma boa prática!) - Queries complexas: pode-se definir queries com projections (expressões, campos calculados), agrupamentos (Sum, Group By) e mesmo setar diretamente a SQL de partes da query, para casos mais avançados. Conclusão O objetivo desse artigo foi fazer uma introdução ao mapeamento objeto-relacional, especialmente usando a framework TMS Aurelius. Vários outros assuntos podem ser discutidos e apresentados, no que

11 se refere a construirs aplicações usando conceitos objeto-relacional, mas esses tópicos estão fora do escopo desse artigo. Espero que tenha sido interessante e que tenha conseguido apresentar uma forma diferente de se construir aplicações de banco de dados utilizando o Delphi. Autor Wagner Rafael Landgraf, 35, é formado em Engenharia Eletrônica e Mestre em Informática Industrial pela Universidade Federal Tecnológica do Paraná. Atualmente Gerente de Produtos da TMS Software (http://www.tmssoftware.com), trabalha com Delphi desde sua primeira versão em 1995, e é responsável por produtos como TMS Scripter Studio, TMS Diagram Studio, TMS Data Modeler e TMS Aurelius.

Servidores REST usando TMS Aurelius e DataSnap

Servidores REST usando TMS Aurelius e DataSnap Servidores REST usando TMS Aurelius e DataSnap Introdução Em artigo anterior a framework na Active Delphi, apresentados o TMS Aurelius, uma framework para mapeamento objeto-relacional (ORM) e mostramos

Leia mais

Interface para Regras de Negócios em Multi-Banco

Interface para Regras de Negócios em Multi-Banco 1 Interface para Regras de Negócios em Multi-Banco MARCELO JALOTO (marcelo@jaloto.net) é graduado no curso superior Projetos e Gestão de Redes de Computadores e formado no curso Técnico em Processamento

Leia mais

Android e Bancos de Dados

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

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 1 1- Bancos de dados compreendem desde agendas telefônicas até sistemas computadorizados. (Sim) 2- Só podemos instalar o SQL Server Express se tivermos

Leia mais

Adicionando Propriedades e Funcionalidades aos Componentes Parte II

Adicionando Propriedades e Funcionalidades aos Componentes Parte II Adicionando Propriedades e Funcionalidades aos Componentes Parte II Quantas vezes eu não lamentei por este componente não ter uma propriedade que guardasse uma lista paralela a lista que é mostrada em

Leia mais

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Criação da Base de Dados (MySQL) Criação de Tabelas Tipo de Dados Chave Primária

Leia mais

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33

Escrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33 Preço R$ 129.00 Compre aqui SUPER PACOTÃO 3 EM 1: 186 Vídeoaulas - 3 dvd's - 10.5 Gybabyte. 1) SQL 2) Banco de Dados (Oracle 10g, SQL Server 2005, PostgreSQL 8.2, Firebird 2.0, MySQL5.0) 3) Análise e Modelagem

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Python Acessando o Banco de Dados MySQL

Python Acessando o Banco de Dados MySQL Python Acessando o Banco de Dados MySQL ANTONIO SÉRGIO NOGUEIRA PRESIDENTE PRUDENTE SP 2009 1 Sumário 1. Introdução...3 2. Interface MySQL...3 3.Instalando o MySQLdb...3 4.Verificando se o MySQL está instalado...4

Leia mais

Persistência de Dados em Java com JPA e Toplink

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

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

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

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com 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

Leia mais

Projeto de Banco de Dados: Empresa X

Projeto de Banco de Dados: Empresa X Projeto de Banco de Dados: Empresa X Modelo de negócio: Empresa X Competências: Analisar e aplicar o resultado da modelagem de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados;

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

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

Leia mais

Treinamento sobre SQL

Treinamento sobre SQL Treinamento sobre SQL Como Usar o SQL Os dois programas que você mais utilizara no SQL Server são: Enterprise Manager e Query Analyzer. No Enterprise Manager, você pode visualizar e fazer alterações na

Leia mais

UFG - Instituto de Informática

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 professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA

Leia mais

Persistindo dados com TopLink no NetBeans

Persistindo dados com TopLink no NetBeans Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos

Leia mais

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

Leia mais

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Principais Instruções em SQL Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados. Atenção: Esta apostila foi desenvolvida com o auxílio on-line do banco MS-ACCESS,

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Aplicabilidade: visão geral

Aplicabilidade: visão geral CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação

Leia mais

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

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Classes de Entidades Persistentes JDB

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

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005

Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005 Nome Número: Série Aula Extra Conexão ODBC para aplicações Delphi 7 que usam SQL Server 2005 Proposta do projeto: Competências: Compreender a orientação a objetos e arquitetura cliente-servidor, aplicando-as

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

Leia mais

Como usar o SQLReactor para persistência de objetos PHP num banco de dados

Como usar o SQLReactor para persistência de objetos PHP num banco de dados PROGRAMAÇÃO Como usar o SQLReactor para persistência de objetos PHP num banco de dados Objetos PHP no banco A persistência de objetos PHP em bancos de dados não requer operações complicadas. Basta um mapeador

Leia mais

Desmistificando o Hibernate Envers em 10 passos

Desmistificando o Hibernate Envers em 10 passos _envers Desmistificando o Hibernate Envers em 10 passos Auditoria de dados? Registro de Log? Trilha de auditoria? Descubra como é fácil, através do Hibernate Envers, rastrear o histórico de mudanças e

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com

INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com INNER, CROSS, LEFT, RIGHT E FULL JOINS SIMPLES ASSIM! Wellyngton Luiz Cruz Moreira wlcmoreira@hotmail.com PALAVRAS CHAVES: inner join, left outer join, cross join, right outer join, full outer join, junções,

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 6.1 ARQUIVOS E REGISTROS De um modo geral os dados estão organizados em arquivos. Define-se arquivo como um conjunto de informações referentes aos elementos

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

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)

Leia mais

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127

Descrição Tinyint[(M)] Inteiro pequeno. Varia de 128 até +127 Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

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

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD SQL Server SGBD SQL Server Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD SQL Server Criação da Ligação ao SGBD Entrar no Microsoft SQL Server / Enterprise Manager Criar

Leia mais

INSTALANDO E CONFIGURANDO O MY SQL

INSTALANDO E CONFIGURANDO O MY SQL INSTALANDO E CONFIGURANDO O MY SQL Este tutorial tem como objetivo mostrar como instalar o banco de dados My SQL em ambiente Windows e é destinado aqueles que ainda não tiveram um contato com a ferramenta.

Leia mais

Banco de Dados. Maurício Edgar Stivanello

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

Leia mais

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

Leonardo Gresta Paulino Murta leomurta@gmail.com

Leonardo Gresta Paulino Murta leomurta@gmail.com Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no

Leia mais

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org Conectando Bancos de Dados Microsoft Access no BrOffice.org Base fornecido pelo Projeto de Documentação do BrOffice.org Índice 1 Introdução...2 1.1 Versão... 2 1.2 Licenciamento...2 1.3 Mensagem do Projeto

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

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

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

Leia mais

Aula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)

Aula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Persistência com JDBC e JPA Aula 5 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Quem é sábio procura aprender, mas os tolos estão satisfeitos com a sua própria ignorância..

Leia mais

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV 8VDQGRSDUkPHWURV O envio de parâmetros para um relatório é uma das funções mais úteis do Report Manager, com eles você pode: Permitir que o usuário final altere palavras ou sentenças de um relatório; Atribuir

Leia mais

Especificação do Trabalho

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,

Leia mais

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Criando Banco de Dados, Tabelas e Campos através do HeidiSQL Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 2 Pedreiros da Informação Criando Banco de Dados, Tabelas e Campos através do HeidiSQL

Leia mais

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos

Leia mais

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 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

Leia mais

Iniciando o MySQL Query Brower

Iniciando o MySQL Query Brower MySQL Query Brower O MySQL Query Browser é uma ferramenta gráfica fornecida pela MySQL AB para criar, executar e otimizar solicitações SQL em um ambiente gráfico. Assim como o MySQL Administrator foi criado

Leia mais

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Abordagem geral Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br Em primeiro plano, deve-se escolher com qual banco de dados iremos trabalhar. Cada banco possui suas vantagens,

Leia mais

Principais Instruções em SQL

Principais Instruções em SQL Instrução Principais Instruções em SQL Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros. Sintaxe [predicado { * tabela.* [tabela.]campo1 [AS alias1]

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri OBJETIVOS DA AULA: Criação de uma base de dados em MS SQL Server e acesso com VB 6. Fazer uma breve introdução a respeito do MS SQL Server 7.0; Criar uma pequena base de dados no MS SQL Server 7.0; Elaborar

Leia mais

Sistema Gerenciador de Hotel. Adriano Douglas Girardello. Ana Paula Fredrich. Tiago Alexandre Schulz Sippert

Sistema Gerenciador de Hotel. Adriano Douglas Girardello. Ana Paula Fredrich. Tiago Alexandre Schulz Sippert UNIOESTE Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Sistema Gerenciador de Hotel Adriano Douglas Girardello

Leia mais

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios Laboratório de Banco de Dados Exercicios Modelo conceitual segundo notação de Peter Chen cliente (1,1) realizacao (1,n) venda (0,n) produto (1,1) contem Modelo conceitual gerado pela CASE Dezign for Database

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Manual de Instalação e Configuração

Manual de Instalação e Configuração e Configuração MyABCM 4.0 Versão 4.00-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

Leia mais

Especificação do 3º Trabalho

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,

Leia mais

Então vamos ao que interessa. 1. Introdução

Então vamos ao que interessa. 1. Introdução Tentarei ser o mais genérico possível. Nos exemplos irei utilizar ASP.Net 2.0 e acesso a dados através do ADO.NET, mas pode ter certeza que para outros casos a idéia não irá mudar muito, seja com LINQ,

Leia mais

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

BrOffice.org Base. Prof. João Alberto Fabro UTFPR Curitiba

BrOffice.org Base. Prof. João Alberto Fabro UTFPR Curitiba Prof. João Alberto Fabro UTFPR Curitiba (Baseado no documento livre Introdução ao BrOffice.org Base, de Noelson Alves Duarte, Revisado em 18 de março de 2006) Formatos: Diversos, inclusive bases de dados

Leia mais

MIOLO 2.0 DAO. Ely Edison Matos ely.matos@ufjf.edu.br

MIOLO 2.0 DAO. Ely Edison Matos ely.matos@ufjf.edu.br MIOLO 2.0 DAO Ely Edison Matos ely.matos@ufjf.edu.br versão do documento: 1.3 16/05/2005 Índice DAO - Camada de abstração de acesso a dados...3 Configuração...3 Classes DAO...3 classe Database...5 classe

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

Solução do segundo exercício proposto REDE DE HOTÉIS

Solução do segundo exercício proposto REDE DE HOTÉIS Solução do segundo exercício proposto REDE DE HOTÉIS Este exemplo já tem um pouco mais de complexidade devido à quantidade de entidades envolvidas no cenário. Em um primeiro momento a solução poderia ficar

Leia mais

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 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

Leia mais

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS Exemplos de Scripts SQL (PostgreSQL) Pizzaria 1 2 Criação de BANCO DE DADOS CREATE DATABASE nome_do_banco; CREATE DATABASE pizzaria; Criação de TABELAS SOMENTE COM CHAVE PRIMÁRIA CREATE TABLE nome_da_tabela

Leia mais

JPA: Persistência padronizada em Java

JPA: Persistência padronizada em Java JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes

Leia mais

Exercícios de Lógica Exercícios de Fixação 08

Exercícios de Lógica Exercícios de Fixação 08 Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa

Leia mais

Sumário. Capítulo 1 O que é o PHP?... 19. Capítulo 2 Instalação do PHP... 23. Capítulo 3 Noções básicas de programação... 25

Sumário. Capítulo 1 O que é o PHP?... 19. Capítulo 2 Instalação do PHP... 23. Capítulo 3 Noções básicas de programação... 25 9 Sobre o autor... 8 Introdução... 15 Capítulo 1 O que é o PHP?... 19 Características do PHP...20 Gratuito e com código aberto...20 Embutido no HTML...20 Baseado no servidor...21 Bancos de dados...22 Portabilidade...22

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

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.

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Everson Santos Araujo everson@por.com.br Conceitos Dado - Um fato que pode ser armazenado Banco de dados (BD) - Coleção de dados interrelacionados Sistema Gerenciador de Banco

Leia mais

Novas Funcionalidades do MyABCM v.4.0

Novas Funcionalidades do MyABCM v.4.0 Novas Funcionalidades do MyABCM v.4.0 Seguem abaixo as novas funcionalidades e melhorias do MyABCM e um resumo de como utilizar essas funcionalidades. 1. Nova funcionalidade para aplicação de fatores de

Leia mais

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

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education JPA Passo a Passo Henrique Eduardo M. Oliveira henrique@voffice.com.br 1 Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) > Trabalha: Arquiteto JEE / Instrutor Java > Formação: Ciências

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 2

PHP INTEGRAÇÃO COM MYSQL PARTE 2 ABRIR CONEXÃO PHP INTEGRAÇÃO COM MYSQL PARTE 2 Professor: Leonardo Pereira Email: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si Antes de podermos acessar informações

Leia mais

Busca fonética. um jeito mais inteligente e eficiente de procurar nomes TONY%

Busca fonética. um jeito mais inteligente e eficiente de procurar nomes TONY% Busca fonética um jeito mais inteligente e eficiente de procurar nomes Tony Calleri França (tonylampada@gmail.com) é Engenheiro de Computação formado pelo ITA, e atua há 10 anos com desenvolvimento de

Leia mais

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

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

1 R$ 50,00 R$ 50,00 reusable object-oriented software 2 Utilizando UML e padrões: uma AUTOR: CESAR AUGUSTO TACLA CRIAÇÃO: 20/5/200 8:24 ÚLTIMA ALTERAÇÃO: 2/5/20 5: TRABALHO DE PADRÕES DE PROJETO ESPECIALIZAÇÃO JAVA 20 INSTRUÇÕES. O trabalho será feito aula a aula de acordo com a matéria

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

P L A N I F I C A Ç Ã O A N U A L

P L A N I F I C A Ç Ã O A N U A L P L A N I F I C A Ç Ã O A N U A L DEPARTAMENTO: MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS ÁREA DISCIPLINAR: 550 - INFORMÁTICA DISCIPLINA: PSI CURSO: Profissional DE: Téc. de Gestão e Programação de Sist. Informáticos

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

Roteiro de Uso do InstallShield

Roteiro de Uso do InstallShield Roteiro de Uso do InstallShield Ao iniciar o InstallShield, a janela Welcome to InstallShield será exibida: Selecione a opção Create New Setup Project, para criar um novo modelo de instalação. A janela

Leia mais

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

manual Versão 0.3 Português do Brasil (Brazilian Portuguese) FunTester 0.7c

manual Versão 0.3 Português do Brasil (Brazilian Portuguese) FunTester 0.7c manual Versão 0.3 Português do Brasil (Brazilian Portuguese) FunTester 0.7c Versões deste documento 0.3 Melhoria da Introdução; Descritos detalhes sobre Instalação e Extensões de Arquivos; Descritos tópicos

Leia mais

MANUAL ESCOLA FLEX. Revisado em 09/07/2008. Sistema Flex www.sistemaflex.com

MANUAL ESCOLA FLEX. Revisado em 09/07/2008. Sistema Flex www.sistemaflex.com MANUAL ESCOLA FLEX Revisado em 09/07/2008 Sistema Flex www.sistemaflex.com Índice Manual Escola Flex Índice... 2 Tela de Abertura (Splash Screen)... 3 Login... 4 Seleção de Empresas... 5 Tela Principal...

Leia mais