Mapeamento Objeto-Relacional Usando o TMS Aurelius
|
|
- Ísis Ventura Dias
- 8 Há anos
- Visualizações:
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 ( 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 ( 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 Introdução Em artigo anterior a framework na Active Delphi, apresentados o TMS Aurelius, uma framework para mapeamento objeto-relacional (ORM) e mostramos
Leia maisAndroid 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 maisEspecificaçã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 maisAULA 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 maisMicrosoft Access XP Módulo Um
Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo
Leia maisUNIVERSIDADE 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 maisNoçõ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 maisTreinamento 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 maisGerenciamento de Projetos
Gerenciamento de Projetos O objetivo do módulo de Gerenciamento de Projetos é ajudar a empresa a gerenciar com mais eficiência os seus projetos. Controle dos prazos, das tarefas, dos eventos, da quantidade
Leia maisManipulaçã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 maisPROGRAMAÇÃ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.
Leia maisInterface 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 maisPersistê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 maisLINGUAGEM 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
Leia maisTrabalhando 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 maisPrincipais 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)
Leia maisAdicionando 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 maisProgramaçã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 maisManual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica
Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica I Vida Controle de Contatos Conteúdo Part I Introdução 2 1 Vida Controle... de Contatos Pessoais 2 Part II Configuração 2 1 Configuração...
Leia maisCriando 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 maisFTIN 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 maisAULA 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 maisNo Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:
Instalando o MySQL O MySQL é um banco de dados extremamente versátil, usado para os mais diversos fins. Você pode acessar o banco de dados a partir de um script em PHP, através de um aplicativo desenvolvido
Leia maisListando itens em ComboBox e gravando os dados no Banco de Dados MySQL.
Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no
Leia maisIntrodução ao Tableau Server 7.0
Introdução ao Tableau Server 7.0 Bem-vindo ao Tableau Server; Este guia orientará você pelas etapas básicas de instalação e configuração do Tableau Server. Em seguida, usará alguns dados de exemplo para
Leia maisManual do Visualizador NF e KEY BEST
Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................
Leia maisManual de utilização do site de contatos
Manual de utilização do site de contatos O site de contatos da Cestalto é uma área exclusiva para representantes de vendas, que serve para registrar os contatos que você realizar com seus clientes. Assim,
Leia maisLição 1 - Criação de campos calculados em consultas
1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas
Leia maisNOME 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
Leia maisBanco de Dados BrOffice Base
Banco de Dados BrOffice Base Autor: Alessandro da Silva Almeida Disponível em: www.apostilando.com 27/02/2011 CURSO TÉCNICO EM SERVIÇO PÚBLICO Apostila de Informática Aplicada - Unidade VI Índice Apresentação...
Leia maisEscrito 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 maisOmega Tecnologia Manual Omega Hosting
Omega Tecnologia Manual Omega Hosting 1 2 Índice Sobre o Omega Hosting... 3 1 Primeiro Acesso... 4 2 Tela Inicial...5 2.1 Área de menu... 5 2.2 Área de navegação... 7 3 Itens do painel de Controle... 8
Leia maisOrientaçã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
Leia maisGoogle Drive. Passos. Configurando o Google Drive
Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.
Leia maisFluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção
Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na
Leia maisManual Sistema Mó vel Msys Cómercial
Manual Sistema Mó vel Msys Cómercial Maravilha, 2014. 1 Sumário 1. REQUISITOS MÍNIMOS... 3 2. PRINCIPAIS TELAS E FUNCIONALIDADES... 4 2.1.1. Tela de acesso ao sistema.... 4 2.1.2. Tela Principal do Sistema....
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia maisPortal Sindical. Manual Operacional Empresas/Escritórios
Portal Sindical Manual Operacional Empresas/Escritórios Acesso ao Portal Inicialmente, para conseguir acesso ao Portal Sindical, nos controles administrativos, é necessário acessar a página principal da
Leia maisAULA 1 Iniciando o uso do TerraView
1.1 AULA 1 Iniciando o uso do TerraView Essa aula apresenta a interface principal do TerraView e sua utilização básica. Todos os arquivos de dados mencionados nesse documento são disponibilizados junto
Leia maisGerenciamento de Contatos
Gerenciamento de Contatos O objetivo deste módulo é ajudar a gerenciar todos os contatos da empresa. Além dos dados mais importantes, o módulo permite cadastrar anotações e relacionar as tarefas e eventos
Leia maisResolvendo problemas de conexão de rede wireless no pregão 83/2008
Resolvendo problemas de conexão de rede wireless no pregão 83/2008 Recentemente forma instalados em minha cidade novos laboratórios do pregão 83/2008 mas em nenhum deles os terminais acessavam a rede.
Leia maisRogério Fernandes da Costa rogerio@nrsystem.com
Rogério Fernandes da Costa rogerio@nrsystem.com Rogério Fernandes da Costa MBA em Gestão de Projetos pelo Centro Universitário de Santo André. Vivência em projetos em empresas como Termomecânica, FIESP
Leia maisIniciando 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 maisVIAÇÃO SÃO BENTO LTDA.
VIAÇÃO SÃO BENTO LTDA. SISTEMA AUTOMÁTICO DE BILHETAGEM ELETRÔNICA MANUAL DO VTWEB CLIENT CADASTROS /PEDIDOS E PROCEDIMENTOS Resumo Esse manual tem como o seu objetivo principal a orientação de uso do
Leia maisGabarito - 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 maisPersistindo 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 maisPgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.
1/20 PgAdmin O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX. Site para download. Caso queira a última versão - http://www.pgadmin.org/download/ É uma
Leia maisCRIANDO UM BANCO DE DADOS
CRIANDO UM BANCO DE DADOS Bem, antes de iniciarmos propriamente no delphi, devemos aprender a usar sua ferramentas, sendo uma das mais importantes o Database Desktop, pois é com esta que construímos nossos
Leia maisComunidade de Suporte e Feedback
Comunidade de Suporte e Feedback O objetivo deste complemento é criar um canal simples, barato e eficiente de suporte aos clientes, onde eles possam na maioria das vezes aproveitar dúvidas já respondidas,
Leia maisMANUAL DO USUÁRIO. Empari Sistemas www.empari.com.br
MANUAL DO USUÁRIO Empari Sistemas www.empari.com.br Sumário Instalação... 2 Primeira Configuração... 5 Período de experimentação... 8 Configurar Busca de Licitações... 9 Tela de Configuração do LicitaPlus+...
Leia maisSISTEMA 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
Leia maisAuxiliar de instalação (Português Brasileiro) Primeiros passos
Primeiros passos Auxiliar de instalação (Português Brasileiro) Agradecemos que você tenha optado por nosso produto e esperamos que esteja sempre satisfeito(a) com seu novo software da G DATA. Caso algo
Leia maisCRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO
CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre
Leia maisDesenvolvendo 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.
Leia mais1. Domínio dos Atributos
Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando
Leia maisProcesso de Envio de email
Processo de Envio de email Introdução O envio de documentos de forma eletrônica vem sendo muito utilizado, assim o envio de arquivos, relatórios, avisos, informações é realizado via e-mail. O sistema disponibiliza
Leia maisTransações Seguras em Bancos de Dados (MySQL)
Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o
Leia maisINNER, 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 maisROTINAS PADRÕES DO SISTEMAS
ROTINAS PADRÕES DO SISTEMAS Usando o Sistema pela primeira vez Ao executar o seu Sistema pela primeira vez a tela abaixo será apresentada para que você possa configurar os diretórios onde serão achados
Leia maisComo funcionam os comandos de SQL no Logic Basic Por Alan Oliveira
Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira www.linksinfo.com.br Tutorial versão 1.0 Sobre o Logic basic: Parte 1 Sobre o Logic Basic e o SQL O Logic Basic é uma linguagem de programação
Leia maisSQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.
SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]
Leia maisINSTALANDO 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 maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 9 Mapeamento em JPA Introdução O mapeamento objeto-relacional
Leia maisComandos 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 maisControle de Estoque. Configuração e personalização do módulo
Controle de Estoque O objetivo do módulo de Controle de Estoque á ajudar a controlar a quantidade de produtos no estoque da empresa, avisar sobre problemas com quantidades mínimas, lotes e validades vencendo.
Leia maisProcedimentos para Reinstalação do Sisloc
Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...
Leia maisInterfaces Gráficas parte 3
parte 3 (Listview, AlertDialog e ActionBar) 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
Leia maisMicrosoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos
Microsoft Access: Criar relações para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: relações são essenciais Lição: inclui oito seções Tarefas práticas sugeridas Teste Cartão
Leia maisNOKIA. Em destaque LEE FEINBERG
Em destaque NOKIA LEE FEINBERG A Nokia é líder mundial no fornecimento de telefones celulares, redes de telecomunicações e serviços relacionados para clientes. Como Gerente Sênior de Planejamento de Decisões
Leia maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia maisBanco 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 mais02 - Usando o SiteMaster - Informações importantes
01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,
Leia maisSISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS. MÓDULO DO CERTIFICADOR MANUAL DE OPERAÇÃO Versão 2.4.6
SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS Versão 2.4.6 Sumário Fluxograma básico do processo de envio de remessa... 5 Criar novo certificado... 6 Aprovar certificado... 16 Preparar e enviar remessa...
Leia maisBETA CONTROLE DE GUINCHO Copyright Peris Consultoria Empresarial Ltda
BETA CONTROLE DE GUINCHO Copyright Peris Consultoria Empresarial Ltda O SISTEMA O sistema de controle de guincho foi desenvolvido para ser utilizado pelas empresas que prestam serviços de guincho, bem
Leia maisCONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS
MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL
Leia maisMANUAL DE INSTRUÇÕES. Versão 1.0. Visão Transportador
MANUAL DE INSTRUÇÕES Versão 1.0 Visão Transportador 2 Sumário Introdução... 3 Requisitos mínimos... 3 Acesso... 3 Primeiro acesso... 5 Navegando pelo sistema... 6 Menu Perfil... 7 Dados do Fornecedor...
Leia maisAULA 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 maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando
Leia maisUFG - 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 maisMySQL Query Browser. Professor Victor Sotero SGD
MySQL Query Browser Professor Victor Sotero SGD 1 DEFINIÇÃO 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.
Leia maisMicrosoft Office PowerPoint 2007
INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em
Leia maisAPOSTILA 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 maisLICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER
LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER V14 de BricsCAD vem com um novo sistema de licenciamento, com base na tecnologia de licenciamento de Reprise Software. Este novo sistema oferece um ambiente
Leia maisData Transformation Services (DTS) por Anderson Ferreira Souza
Data Transformation Services (DTS) por Anderson Ferreira Souza O Sql Server possui um recurso extremamente poderoso que é muito pouco utilizado pelos administradores e programadores. Com certeza, sendo
Leia maisCSAU 10.0. Guia: Manual do CSAU 10.0 como implementar e utilizar.
CSAU 10.0 Guia: Manual do CSAU 10.0 como implementar e utilizar. Data do Documento: Janeiro de 2012 Sumário 1. Sobre o manual do CSAU... 3 2. Interface do CSAU 10.0... 4 2.1. Início... 4 2.2. Update...
Leia maisCentral Cliente Questor (CCQ) UTILIZANDO A CCQ - CENTRAL CLIENTE QUESTOR
Central Cliente Questor (CCQ) O que é a Central Cliente Questor? Já é de seu conhecimento que os Usuários do sistema Questor contam com uma grande ferramenta de capacitação e treinamento no pós-venda.
Leia maisMicrosoft Access: Criar relatórios para um novo banco de dados. Vitor Valerio de Souza Campos
Microsoft Access: Criar relatórios para um novo banco de dados Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: O produto final Lição: Inclui oito seções Tarefas práticas sugeridas Teste Visão
Leia maisUniversidade 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
Leia maisMANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email]
MANUAL COTAÇAO WEB [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de email] MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA Material Desenvolvido para a Célula Materiais Autor: Equipe
Leia mais2 echo "PHP e outros.";
PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento
Leia maisProjeto 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 maisIntegração ADMRH com AGROSYS
Treinamentos no produto AdmRH CGI - Consultoria Gaúcha de Informática Ltda - Divisão de treinamentos Guia do Aluno Versão 1.0 Integração ADMRH com AGROSYS Empresa: Participante: Data: Os produtos da CGI
Leia maisProgramação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza
Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem
Leia maisPrincipais 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 maisPAINEL GERENCIADOR DE E-MAILS
Este manual foi criado com o objetivo de facilitar o gerenciamento de suas contas de e-mail. Com ele, o administrador poderá criar e excluir e-mails, alterar senha, configurar redirecionamento de contas,
Leia maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
Leia maisLeonardo 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 maisIntrodução a Banco de Dados
Introdução a Banco de Dados Ricardo Henrique Tassi - Departamento de Replicação Índice 1- Introdução... 03 2- Quais são os bancos de dados mais conhecidos hoje em dia...04 3- Quais são os tipos de banco...05
Leia maisVVS Sistemas (21)3405-9500
Índice Assunto Página Apresentação... 2 Funcionamento do Módulo... 3 Instalação do Módulo... 4 Configurações no C-Plus NF-e... 9 Acessando os arquivos... 11 Apresentação Apresentamos o módulo C-Plus NF-e
Leia mais