Replicação de Dados no Interbase
|
|
|
- Vagner Cunha Cerveira
- 10 Há anos
- Visualizações:
Transcrição
1 Replicação de Dados no Interbase Por Matt Hopkins, Dunstan Thomas(UK) LTD.Borland Developers Conferece nessa época ainda não existia o componente IBReplicator Origem: Tradução : Marcilio Soares Revisão/adaptação do texto : Carlos Henrique Cantu - Este documento descreverá a concepção básica para replicação de dados e como eles podem ser implementados de maneira relativamente simples usando semente recursos do próprio Interbase. O que é Replicação de Dados? É a cópia de informações de um ou mais Banco de dados para outro semelhante, depois das informações estarem consistentes. Há dois tipos básicos de replicação SÍNCRONA E SÍNCRONA Replicação Síncrona: Todas as cópias ou replicações de dados serão feitas no instante da sincronização e consistência. Se alguma cópia do banco é alterada, essa alteração será imediatamente aplicada a todos os outros bancos dentro da transação. A Replicação Síncrona é apropriada em aplicações comerciais onde a consistência exata das informações é de extrema importância. Replicação Assíncrona: Armazena e faz a replicação. A cópia de dados fica fora de sincronia entre os BDs. Se um BD é alterado, a alteração será propagada e aplicada para outro BD num segundo passo, dentro de uma transação separada sendo que esta poderá ocorrer segundos, minutos, horas ou até dias depois. A cópia poderá ficar temporariamente fora de sincronia, mas quando a sincronização ocorrer os dados convergirão para todos os locais especificados. Este documento trata exclusivamente sobre replicação de dados assíncrono. Quais componentes são necessários para a replicação de dados? Capturando as alterações no banco de dados de origem.
2 Toda estratégia de replicação de dados requer um método para capturar as alterações para um banco de dados de replicação. Há dois mecanismos principais Logs de Transação e Triggers. Logs de transação abordam a utilização de uma técnica chamada "log Sniffing" a qual replica uma transação sinalizada para replicação para um plataforma de transmissão. Esta técnica causa um impacto menor no servidor de Banco de Dados porque requer menor CPU quando da leitura de "Log" na memória e também na gravação para o disco. Este método de replicação é utilizado também por outros fabricantes de Bancos como Sybase, Informix e MS SQL/Server. A Segunda técnica usa triggers no Banco de dados para propagar as alterações quando elas ocorrem. Como a Linguagem procedural de Banco de dados pode ser utilizada nesse método, ela provê maior flexibilidade a medida que os dados são replicados. Esta implementação de replicação é utilizada pelo Ingres e Oracle, também será a técnica que nós utilizaremos ao trabalharmos com replicação com Interbase. Transmitindo alterações de um de Banco de Dados para o(s) Banco de dados Destino Para a transmição das alterações para o BD destino é requerido um Software que lê as alterações e as transmite ao BD Destino situado em algum lugar da rede e grava as alterações. Este Software é conhecido como um gerenciador de replicação e também controla erros e conflito de Updates. Como posso fazer Replicação de Dados com os componentes do Interbase? Registrando a alteração dos dados Para criar nosso processo de replicação nós precisaremos criar dois exemplos de Banco de Dados com tabelas idênticas em cada um dos Bancos. CREATE DATABE "source.gdb" PAGE_SIZE 1024 CREATE TABLE TEAMS ( TEAM_ID INTEGER NOT NULL, TEAM_NAME VARCHAR(100), TEAM_MGR VARCHAR(40), PRIMARY KEY (TEAM_ID)); CREATE TABLE CHANGES ( CHANGE_ID INTEGER NOT NULL, CHANGE_TYPE CHAR(1) NOT NULL, SOURCE_KEY_FIELD VARCHAR(31) NOT NULL, SOURCE_KEY INTEGER NOT NULL,
3 SOURCE_TABLE VARCHAR(31), USERNAME VARCHAR(31), PRIMARY KEY (CHANGE_ID)); CREATE GENERATOR NEW_TEAM_ID; CREATE GENERATOR NEW_CHANGE_ID; Agora criaremos um TRIGGER CHANGES na tabela para obtermos um único valor do GENERATOR CREATE TRIGGER CHANGES_NEWID FOR CHANGES BEFORE INSERT NEW.CHANGE_ID = GEN_ID(NEW_CHANGE_ID,1); END NOTA: Veja que não adicionaremos um trigger para gerar uma única ID na tabela TEAMS. Discutiremos este assunto na próxima sessão. Agora nós precisamos criar um mecanismo para registrar todas as alterações de nossa tabela. Como mencionado anteriormente, nós utilizaremos triggers para registrar as alterações para nossa tabela de Replicação. O benefício é que os triggers estão disponíveis, são fáceis de usar, e diferente dos logs de transação, eles possibilitam o uso de uma lógica de programação utilizando a linguagem procedural do Interbase. Há três tipos de alteração que poderão ocorrer na tabela Insert, Update e Delete. Nós precisaremos de três triggers para cada uma das tabelas replicadas. /* After an Insert */ CREATE TRIGGER TEAMS_REPL_INSERT FOR TEAMS AFTER INSERT INSERT INTO CHANGES (CHANGE_TYPE, SOURCE_KEY_FIELD, SOURCE_KEY, SOURCE_TABLE,USERNAME) VALUES ("I","TEAM_ID",NEW.TEAM_ID,"TEAMS",USER); END; /* After an Update */ CREATE TRIGGER TEAMS_REPL_UPDATE FOR TEAMS AFTER UPDATE
4 INSERT INTO CHANGES (CHANGE_TYPE, SOURCE_KEY_FIELD, SOURCE_KEY, SOURCE_TABLE,USERNAME) VALUES ("U","TEAM_ID",NEW.TEAM_ID,"TEAMS",USER); END; /* After a Delete */ CREATE TRIGGER TEAMS_REPL_DELETE FOR TEAMS AFTER DELETE INSERT INTO CHANGES (CHANGE_TYPE, SOURCE_KEY_FIELD, SOURCE_KEY, SOURCE_TABLE,USERNAME) VALUES ("D","TEAM_ID",OLD.TEAM_ID,"TEAMS",USER); END; Isto é tudo que se precisa para registrarmos as alterações de dados para uma replicação no Interbase. Note que para manter a simplicidade nós requisitamos que todas as tabelas replicadas tanha uma Chave Inteira (INTEGER KEY) única e que este é o único elemento de dados que será gravado na tabela CHANGES. Nós poderíamos armazenar todos os valores dos campos que foram alterados, mas como nós vamos replicar um snapshot dos dados armazenando apenas a chave e a ação, nós podemos recuperar os valores atuais em cada tabela pelo mecanismo de replicação. Mais um passo é necessário antes de irmos para o mecanismo de replicação. Nós precisaremos criar um Banco de Dados de destino com a mesma Metadata. Isto poderá ser feito fazendo um backup do BD e restaurando-o com o nome de "DESTINATION.GDB". Replicando os dados alterados Agora nós vamos criar um Servidor de Replicação usando Delphi. A idéia é permitir ao usuário pré-defina um tempo determinado para a replicação ou ele poderá manualmente solicitar a replicação com um botão "Replicar Agora". Um registro de todas as atividades será mostrada num Memo e algumas exceções que ocorram serão exibidas em um Memo de erros. O Banco Replicado e o Banco de Destino da Replicação serão passados em linha de comando através de parâmetros desta forma: C:\REPLD SOURCEDB TARGETDB Para nos assegurar de que o nosso projeto sempre terá dois parâmetros nós faremos assim:
5 if (ParamStr(1) = '') or (ParamStr(2) = '') then MessageDlg('Usage: "REPLD.EXE SOURCE_ALI TARGET_ALI"',mtError,[mbOK],0) else Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; Toda replicação será controlada por uma Procedure de replicação desta forma: procedure TForm1.Replicate; var qrychangelist : TQuery; strchangetype : String; qrychangelist := TQuery.create(Application); with qrychangelist do DatabaseName := 'SourceDB'; sql.add('select * from changes'); open; while not eof do if (fieldbyname('change_type').asstring = 'I') then strchangetype := 'Insert'; ReplicateInsert( fieldbyname('source_table').asstring,fieldbyname( 'SOURCE_KEY_FIELD').asString,fieldByName('SOURCE_KEY').asInteger) end else if (fieldbyname('change_type').asstring = 'U') then strchangetype := 'Update'; ReplicateUpdate( fieldbyname('source_table').asstring,fieldbyname( 'SOURCE_KEY_FIELD').asString,fieldByName('SOURCE_KEY').asInteger) end else if (fieldbyname('change_type').asstring = 'D') then strchangetype := 'Delete'; ReplicateDelete( fieldbyname('source_table').asstring,fieldbyname(
6 'SOURCE_KEY_FIELD').asString,fieldByName('SOURCE_KEY').asInteger) memolog.lines.add( DateTimeToStr(Now)+' '+strchangetype+ ' '+fieldbyname('source_key').asstring+ ' on '+fieldbyname('source_table').asstring); DeleteFromChanges(fieldByName('CHANGE_ID').asInteger); next; close; finally qrychangelist.free; E a cada ação(insert, DELETE, UPDATE) será chamada uma Procedure individual, como se segue: Replicate Inserts: procedure TForm1.ReplicateInsert( const strtablename, strkeyfield: String; const ikey: Integer); var qrysource, qrytarget : TQuery; i : SmallInt; qrysource := TQuery.create(Application); with qrysource do DatabaseName := 'SourceDB'; with sql do add('select * from '+strtablename); add(' where ('+strkeyfield+' = '+IntToStr(iKey)+');'); open; while not eof do qrytarget := TQuery.create(Application); with qrytarget do DatabaseName := 'TargetDB'; with sql do
7 add('insert into '+strtablename); add('('); for i := 0 to qrysource.fieldcount-1 do if (i < qrysource.fieldcount-1) then add(' '+qrysource.fields[i].fieldname+',') else add(' '+qrysource.fields[i].fieldname) add(')'); add('values'); add('('); for i := 0 to qrysource.fieldcount-1 do if (i < qrysource.fieldcount-1) then add(' :'+qrysource.fields[i].fieldname+',') else add(' :'+qrysource.fields[i].fieldname) add(')'); prepare; for i := 0 to qrysource.fieldcount-1 do qrytarget.params[i].asstring := qrysource.fields[i].asstring; execsql; finally qrytarget.free; next; close; except on e: Exception do memoerrors.lines.add(datetimetostr(now)+' '+e.message); finally qrysource.free; Replicate Upates: procedure TForm1.ReplicateUpdate( const strtablename, strkeyfield: String; const ikey: Integer);
8 var qrysource, qrytarget : TQuery; i : SmallInt; qrysource := TQuery.create(Application); with qrysource do DatabaseName := 'SourceDB'; with sql do add('select * from '+strtablename); add(' where ('+strkeyfield+' = '+IntToStr(iKey)+');'); open; while not eof do qrytarget := TQuery.create(Application); with qrytarget do DatabaseName := 'TargetDB'; with sql do add('update '+strtablename); add('set'); for i := 0 to qrysource.fieldcount-1 do if (i < qrysource.fieldcount-1) then add(' '+qrysource.fields[i].fieldname+ ' = :'+qrysource.fields[i].fieldname+',') else add(' '+qrysource.fields[i].fieldname+ ' = :'+qrysource.fields[i].fieldname) add(' where ('+strkeyfield+' = '+IntToStr(iKey)+');'); prepare; for i := 0 to qrysource.fieldcount-1 do qrytarget.params[i].asstring := qrysource.fields[i].asstring; execsql; finally qrytarget.free; next;
9 close; except on e: Exception do memoerrors.lines.add(datetimetostr(now)+' '+e.message); finally qrysource.free; Replicate Deletes: procedure TForm1.ReplicateDelete( const strtablename, strkeyfield: String; const ikey: Integer); var qrysource : TQuery; i : SmallInt; qrysource := TQuery.create(Application); with qrysource do DatabaseName := 'TargetDB'; sql.add('delete from '+strtablename); sql.add(' where ('+strkeyfield+' = '+IntToStr(iKey)+')'); execsql; execsql; except on e: Exception do memoerrors.lines.add(datetimetostr(now)+' '+e.message); finally qrysource.free; Nota: Este exemplo não suporta campos do tipo BLOB. Um código adicional será necessário para seu uso, mas isso é totalmente possível. Agora atribua o valor do SpinBox ao Timer. Desta forma você poderá ajustar o cliclo da replicação: procedure TForm1.SpinEdit1Change(Sender: TObject);
10 Timer1.Interval := (SpinEdit1.Value * 1000); Execute-o e enquanto REPLD estiver executando, faça alguma alteração na tabela TEAMS no Banco de dados Origem tendo certeza de adicionar uma chave única e verifique o banco de dados de destino (Depois de um ciclo de replicação) para ver as alterações replicadas. Replicação Bi-Direcional Cheque a tabela CHANGES no BD destino e voce verá que as alterações replicadas do BD origem também aparecerão nessa tabela. O problema é que o mecanismo utilizado para logar as alterações não está distinguindo as alterações feitas pelo usuário final das alterações feitas pelo mecanismo de replicação. Se nós iniciarmos uma replicação bi-direcional utilizando nosso aplicativo REPLD sem especificar um "usuário replicador", correremos o risco de entrar em um loop infinito. Portanto, nós precisaremos definir um "usuário replicador" para esse exemplo o chamaremos de "REPLICATE" em todos os servidores Interbase que estivermos usando, e não efetuaremos o log das alterações efetuadas por esse "usuário". Isso significa que precisaremos alterar os triggers para acada tabela replicada da seguinte forma : /* After an Insert */ ALTER TRIGGER TEAMS_REPL_INSERT FOR TEAMS AFTER INSERT IF (USER <> "REPLICATE") THEN INSERT INTO CHANGES (CHANGE_TYPE, SOURCE_KEY_FIELD, SOURCE_KEY, SOURCE_TABLE,USERNAME) VALUES ("I","TEAM_ID",NEW.TEAM_ID,"TEAMS",USER); END; /* After an Update */ ALTER TRIGGER TEAMS_REPL_UPDATE FOR TEAMS AFTER UPDATE IF (USER <> "REPLICATE") THEN INSERT INTO CHANGES (CHANGE_TYPE, SOURCE_KEY_FIELD, SOURCE_KEY, SOURCE_TABLE,USERNAME) VALUES ("U","TEAM_ID",NEW.TEAM_ID,"TEAMS",USER);
11 END; /* After a Delete */ ALTER TRIGGER TEAMS_REPL_DELETE FOR TEAMS AFTER DELETE IF (USER <> "REPLICATE") THEN INSERT INTO CHANGES (CHANGE_TYPE, SOURCE_KEY_FIELD, SOURCE_KEY, SOURCE_TABLE,USERNAME) VALUES ("D","TEAM_ID",OLD.TEAM_ID,"TEAMS",USER); END; Agora nós executaremos duas versões do REPLD: C:\REPLD SOURCEDB TARGETDB C:\REPLD TARGETDB SOURCEDB Voce deve notar que quando voce sai de um modelo de replicação mestre-escravo para um modelo ponto-a-ponto, diversas complexidades aparecem e devem ser consideradas antes de implementar a replicação. Essas complexidades e como trabalhar com elas serão discutidas na próxima seção. Replicando uma alteração quando ela ocorre (Near- Synchoronous Replication) Se desejarmos replicar as alterações de uma tabela sem depender do timer, nós precisamos utilizar o mecanismo de Eventos do Interbase. Ele requer a criação de dois passos: Gerar um evento e responder à um evento. Para gerar o evento, precisaremos adicionar um novo TRIGGER CHANGES na tabela TEAMS: CREATE TRIGGER CHANGES_ALERT FOR TEAMS AFTER INSERT POST_EVENT "NEW_CHANGE"; END; Para responder ao evento, precisaremos adicionar um componente do Delphi chamado IBEventAlerter em nossa aplicação REPLD, registrar nosso interesse no evento "NEW_CHANGE" adicionando-o à propriedade Events e então linkar o evento OnEventAlert à nossa procedure de replicação como se segue: procedure TForm1.IBEventAlerter1EventAlert(Sender: TObject;
12 EventName: string; EventCount: Longint; var CancelAlerts: Boolean); Replicate; Teste isso. Replicação em tabelas com chaves compostas Para simplicidade, no exemplo anterior nós replicamos tabelas simples com chaves inteiras. A mesma técnica, um pouco modificada, pode ser usada para replicar tabelas contendo chaves compostas. A principal diferença entre manusear chaves compostas e simples é no método que as alterações são logadas. Ao invés de uma simples tabela CHANGES, no caso de chaves compostas é necessário uma tabela de "log" para cada tabela base que será replicada. Replicação cruzada em WAN com R(Remote Access Services) O Serviço R do Windows NT e Dial-up Netwroking do Windows 9x permite acesso via modem aos serviços que só estariam disponíveis em uma rede. Isto significa que se precisássemos replicar informações em sites remotos através do nosso mecanismo de replicação, ele necessitará suportar o R. A maneira mais fácil de implementar no Delphi o R é usar componentes. Há vários disponíveis em forma de shareware ou freeware na internet. Para esse exemplo nós usaremos o TRas de Daniel Polistchuck que está disponível no site Como toda a complexidade do R está sendo trabalhada pelo componente TR, para acrescentaro R à nossa replicação necessitará apenas algumas linhas de código. Primeiramente nós precisaremos modificar a procedure Replicate de forma que ocorrerá uma conexão via R sempre que uma alteração deverá ser replicada. procedure TForm1.Replicate; with qrychangelist do DatabaseName := 'SourceDB'; sql.add('select * from changes'); if active then close; open; if (recordcount > 0) then memolog.lines.add(datetimetostr(now)+' Dialing DT'); R1.EnName := 'DT'; R1.Connect;
13 Como você pode ver, nós adicionamos um teste para verificar se há registros à serem enviados e, caso seja verdadeiro é criada uma conexão R chamada "DT". Nos também movemos o resto do que previamente existia nesta procedure para o evento "OnConnect" do componente R e fizemos a query de alteração (QryChangeList) global para a form : procedure TForm1.R1Connect(Sender: TObject); var strchangetype : String; with qrychangelist do memolog.lines.add(datetimetostr(now)+' Connected to DT'); while not eof do if (fieldbyname('change_type').asstring = 'I') then strchangetype := 'Insert'; ReplicateInsert( fieldbyname('source_table').asstring,fieldbyname( 'SOURCE_KEY_FIELD').asString,fieldByName('SOURCE_KEY').asInteger) end else if (fieldbyname('change_type').asstring = 'U') then strchangetype := 'Update'; ReplicateUpdate( fieldbyname('source_table').asstring,fieldbyname( 'SOURCE_KEY_FIELD').asString,fieldByName('SOURCE_KEY').asInteger) end else if (fieldbyname('change_type').asstring = 'D') then strchangetype := 'Delete'; ReplicateDelete( fieldbyname('source_table').asstring,fieldbyname( 'SOURCE_KEY_FIELD').asString,fieldByName('SOURCE_KEY').asInteger)
14 memolog.lines.add( DateTimeToStr(Now)+' '+strchangetype+' '+ fieldbyname('source_key').asstring+ ' on '+fieldbyname('source_table').asstring); DeleteFromChanges(fieldByName('CHANGE_ID').asInteger); next; close; finally R1.Disconnect; memolog.lines.add(datetimetostr(now)+' Disconnected from DT'); Isto é tudo que se precisa para fazer uma conexão remota e replicar as alterações e fazer a desconexão. Isso é simples? Não. Com a replicação podem aparecer diversos problemas e por isso é necessário um bom design e planejamento prévio e às vezes um pouco de programação. Abaixo estão algumas orientações: Conflitos de Update A segurança para replicação Assíncrona é crítica para quase todas as aplicações. Porém, o que aconteceria se o mesmo elemento de dados (por exemplo, a mesma coluna de um mesmo registro) for atualizada em dois locais diferentes ao mesmo tempo, ou mais precisamente no mesmo intervalo de replicação? Isto é conhecido como conflito de Update. Sendo assim quanto menor for o tempo de atualização da réplica (ou seja, menor o intervalo(ciclo) de atualização) menor será a possibilidade de ocorrer conflitos de atualização. Alternativamente, os conflitos de atualizações podem ser evitados limitando o "ownership" ou o direito para atualizar um elemento de dado para um determinado local. Na realidade, muitos acreditam que resolução de conflito é uma questão de processamento e não uma questão para os desenvolvedores de software. Eliminando a possibilidade de conflitos através de design e procedimentos, o software não precisaria resolver conflitos de updates pois os mesmos nunca ocorreriam, na teoria. Essa visão no entanto é muito limitada quando os clientes estão exigindo que várias opções para resolução de conflitos sejam incorporadas nas ferramentas de replicação de dados. Unique Keys e Generators Tipicamente quando se trabalha com chaves únicas inteiras, uma trigger de BEFORE INSERT é utilizada adcionar e recuperar um novo valor de um generator. Quando se trabalha com replicação isso pode gerar alguns problemas.
15 O problema está em manter dois ou mais Banco de Dados sincronizados. Veja o exemplo abaixo: Em um BD, o generator contém o valor 5. Quando um novo registro é adicionado, a trigger incrementa o valor do generator em 1 e o valor para a chave do novo registro passa à ser 6. Este registro é replicado para um outro Banco de Dados. Nesse segundo BD, o valor do generator é de 100. Quando o registro replicado for inserido no segundo BD, uma trigger sobrepõe o valor da chave (6) com o próximo valor do generator (101). A solução tem duas possibilidades: A primeira é confiar que o Cliente irá dar um valor a chave e não usar trigger. A Segunda é dar intervalos de valores para cada BD, sendo que cada local possuirá certos valores de chave. Como no Interbase um valor do tipo Interger pode chegar a 2 bilhões de números, os intervalos de números poderiam ser divididos em partes de milhões se for necessário. O Generator para cada local poderá ser inicializado com um intervalo diferente usando para isso o comando para alterar o valor inicial do Generator: SET GENERATOR GEN_NAME TO ; Inicialização Se você replicar uma origem de dados para um destino, então você precisará inicializar o destino pois ele estará fora de sincronia com a origem.. Tipicamente, você poderá fazer isto simplesmente implementando uma recarga dos dados da origem para o destino, ou seja do Banco de Dados para sua Replicação. Alterações na DDL O que acontece quando você muda o Metadata? Se você adicionar um campo em uma tabela de um lado, esta alteração terá de ser efetuada também nos outros BDs. Resumo Replicação de dados é um assunto importante nos dias de hoje e está sendo solicitado por um número cada vez maior de clientes em todo mundo. Na realidade, mais de cinquenta por cento do projetos iniciados desde dezembro de 1996 por mim (Dunstan Thomas) era requerido replicação. A Replicação tem o potencial para prover um melhor processamento, respostas mais rápidas, redução de comunicação, e evitar os gargalos de rede entre usuários geograficamente espalhados. Com o Interbase e o Microsoft R, a replicação de dados não é somente uma possibilidade mas sim uma realidade já disponível.
Replicação de Dados com InterBase/Firebird
Replicação de Dados com InterBase/Firebird By Matt Hopkins, Dunstan Thomas (UK) Ltd. Borland Developers Conference 1998 Este artigo irá descrever os conceitos básicos da replicação de dados e como isto
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)
Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL
Prof. Ms. Luiz Alberto Contato: [email protected] Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a
Sistemas de Informação
Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK
BANCO 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
Listando 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
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.
2008.1. A linguagem SQL
SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão
ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 13
ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 13 Índice 1. Administração de SGBDs - Continuação...3 1.1. Recuperação (Recovery)... 3 1.1.1. Recuperação de sistema... Erro! Indicador não definido. 1.1.2. Recuperação
Sistemas Operacionais. Prof. André Y. Kusumoto [email protected]
Sistemas Operacionais Prof. André Y. Kusumoto [email protected] Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Barra de LEDs Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]
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
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
Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br
Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes
Modelo Cliente/Servidor Por HIARLY ALVES
UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. Modelo Cliente/Servidor Por HIARLY ALVES Fortaleza - CE CONCEITOS Cliente x Servidor. Cliente É um programa (software) executado
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
Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição
Sumário Administração de Banco de dados Módulo 12 1. Administração de SGBDs - Continuação 1.1. Recuperação (Recovery) 1.1.1. Recuperação de sistema 1.1.2. Recuperação da mídia M. Sc. Luiz Alberto [email protected]
Tarefa Orientada 18 Procedimentos armazenados
Tarefa Orientada 18 Procedimentos armazenados Objectivos: Criar Procedimentos armazenados Chamar procedimentos armazenados Utilizar parâmetros de entrada e de saída Um procedimento armazenado representa
Linguagem de Consulta - SQL
SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987
Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.
Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação
Banco de Dados Avançados Banco de Dados Ativo
Universidade Federal de Pernambuco Centro de Informática Banco de Dados Avançados Banco de Dados Ativo Equipe: Felipe Cavalcante Fernando Kakimoto Marcos Corrêa Sumário 1. Mini-Mundo... 3 1.1 Entidades...
CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário
CADERNO DE INFORMÁTICA FACITA Faculdade de Itápolis Aplicativos Editores de Texto WORD 2007/2010 Sumário Editor de texto... 3 Iniciando Microsoft Word... 4 Fichários:... 4 Atalhos... 5 Área de Trabalho:
Manual Replicação Manual VPN
Manual Replicação Introdução O que é cloudcomputing ou computação na nuvem? Refere-se à utilização de um servidor com alta capacidade de armazenamento de dados e que com configurações que aguentam um alto
LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS
LINGUAGEM SQL PARA CSULTAS EM MICROSOFT ACCESS Objetivos: Neste tutorial serão apresentados os principais elementos da linguagem SQL (Structured Query Language). Serão apresentados diversos exemplos práticos
UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual
UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA Manual do Moodle- Sala virtual UNIFAP MACAPÁ-AP 2012 S U M Á R I O 1 Tela de Login...3 2 Tela Meus
Programação SQL. Introdução
Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:
BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04
BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de
Bases de Dados 2007/2008. Aula 8
Bases de Dados 2007/2008 Aula 8 1. T-SQL 2. VARIÁVEIS 3. CURSORES 4. PROCEDIMENTOS 5. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql
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,
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta
Laboratório de Banco de Dados II Aula 1. Stored Procedures
Laboratório de Banco de Dados II Aula 1 Stored Procedures Stored procedures Uma seqüência de comandos SQL pode ser agrupada, formando uma stored procedure A sua execução é comandada, invocando-se o nome
Pacote de Idiomas do ImageNow Guia de Introdução
Pacote de Idiomas do ImageNow Guia de Introdução Versão: 6.6.x Escrito por: Product Documentation, R&D Data: Outubro de 2011 ImageNow e CaptureNow são marcas comerciais registradas da Perceptive Software.
Guia de utilização da notação BPMN
1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação
Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.
Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Você deve ter bons conhecimentos de estoque, UM e administração de posições
8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)
8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras
Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade.
www.devm edia.com.br [versão para im pressão] MySQL TRIGGERS Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade. MySQL TRIGGERS Neste artigo, serão apresentados
RELATÓRIOS GERENCIAIS
RELATÓRIOS GERENCIAIS Neste treinamento vamos abordar o funcionamento dos seguintes relatórios gerenciais do SisMoura: Curva ABC Fluxo de Caixa Semanal Análise de Lucratividade Análise Financeira o Ponto
Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede
Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O servidor de arquivos fornece um ponto centralizado na rede para armazenamento e compartilhamento de arquivos entre os usuários. Quando
Tarefa Orientada 19 Triggers
Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma
Neste tópico, abordaremos a funcionalidade de segurança fornecida com o SAP Business One.
Neste tópico, abordaremos a funcionalidade de segurança fornecida com o SAP Business One. 1 Ao final deste tópico, você estará apto a: Descrever as funções de segurança fornecidas pelo System Landscape
,QWURGXomRDR(GLWRUGH $SUHVHQWDo}HV3RZHU3RLQW
Universidade Federal de Viçosa Departamento de Informática,QWURGXomRDR(GLWRUGH $SUHVHQWDo}HV3RZHU3RLQW Flaviano Aguiar Liziane Santos Soares Jugurta Lisboa Filho (Orientador) PROJETO UNESC@LA Setembro
LINX POSTOS AUTOSYSTEM
LINX POSTOS AUTOSYSTEM Manual Sumário 1 INTRODUÇÃO AO POSTGRES...3 2 INSTALAÇÃO...3 2.1 Download...3 2.2 Instalação...4 3 CONFIGURAÇÃO...7 3.1 CIDR-ADDRESS...8 3.2 Biometria...9 4 LINHA DE COMANDO...10
Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas
Banco de Dados II Triggers e Functions Prof. Moser Fagundes Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Sumário da aula Functions (funções) Triggers (gatilhos) Atividades Functions
Integração de livros fiscais com o Microsoft Dynamics AX 2009
Microsoft Dynamics AX Integração de livros fiscais com o Microsoft Dynamics AX 2009 White paper Este white paper descreve como configurar e usar a integração de livros fiscais entre o Microsoft Dynamics
Técnicas de Normalização por Phaser
Técnicas de Normalização por Phaser http://phpbrasil.com/articles/article.php/pagerrow/0/id/146 Dos fatores mais importantes no desenvolvimento de páginas dinâmicas é a definição de banco de dados. Se
Tabelas vista de estrutura
Tabelas vista de estrutura A vista de estrutura permite definir a configuração dos dados Vamos adicionar os restantes campos à tabela carros, de acordo com o modelo de dados feito no papel 47 Tabelas vista
Secretaria de Tecnologia da Informação Coordenadoria de Suporte Técnico aos Usuários
Secretaria de Tecnologia da Informação Coordenadoria de Suporte Técnico aos Usuários MANUAL DO (E-REMESSA) (Versão 4.0 Atualizada em Março/2014) SUMÁRIO 1. OBJETIVO... 3 2. PRIMEIRO ACESSO AO MÓDULO DE
MANUAL INSTALAÇÃO WEB SERVICE
MANUAL INSTALAÇÃO WEB SERVICE Recebimento de dados pelo Hospital Versão 1.1 2/9/2014 Contato [email protected] Índice Introdução... 2 Requerimentos para instalação do Web Service... 2 Instalação...
Banco de Dados. Microsoft Access. Índice
Banco de Dados Microsoft Access PARTE 03 edição 2007 Índice 19-) Consulta... 27 20) Criando uma consulta... 27 21) Salvando a consulta... 28 22) Selecionando os campos das tabelas para a consulta... 29
Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL
Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco
Capítulo 2. VARIÁVEIS DO TIPO INTEIRO
Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores
COMANDO DA AERONÁUTICA ESCOLA DE ESPECIALISTAS DE AERONÁUTICA SUBDIVISÃO DE ADMISSÃO E DE SELEÇÃO
Questão : 45 71 79 A questão 45 do código 04, que corresponde à questão 71 do código 20 e à questão 79 do código 88 Nº de Inscrição: 4020557 Considere as tabelas abaixo: Pessoal e Endereco: Pessoal Endereco
ÍNDICE. Delphi... 3 CAPÍTULO 1 INTRODUÇÃO... 06 CAPÍTULO 2 INSTALANDO O DELPHI... 10
Delphi 7 ÍNDICE CAPÍTULO 1 INTRODUÇÃO... 06 CAPÍTULO 2 INSTALANDO O DELPHI... 10 CAPÍTULO 3 INICIANDO O Delphi... 18 FORM DESIGN... 19 CODE EDITOR... 23 OBJECT INSPECTOR... 26 OBJECT TREE VIEW... 29 PALHETA
SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec
SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos
SQL: Definição de tabelas, Modificações à Base de Dados
SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de
Projeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
Inserindo e Listando registros
Inserindo e Listando registros Dando prosseguimento à aula anterior, agora precisaremos construir uma rotina que faça a inserção no banco de dados Escola. A ação agora é inserir o aluno na tabela alunos
Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice
2º CADERNO Índice Pg. Microsoft Office: Excel 2010... Exercícios pertinentes... 02 63 Microsoft Office: Power Point 2010... Exercícios pertinentes... 104 146 Internet e Intranet. Conceitos básicos, navegadores
Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza
Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes
(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
Informática básica Telecentro/Infocentro Acessa-SP
Informática básica Telecentro/Infocentro Acessa-SP Aula de hoje: Verificando data e hora, desligando o computador, janelas, copiar colar, excluindo um arquivo. Prof: Lucas Aureo Guidastre Verificando data
2008.1 SQL. Autor: Renata Viegas
SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua
1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.
Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar
Introdução à Engenharia da Computação. Banco de Dados Professor Machado
Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:
Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva - www.assembla.com/spaces/objetivobd/documents
Banco de dados Linguagens de Banco de Dados II 1 Linguagem de Definição de Dados - DDL Comandos utilizados para criação do esquema de dados; Um DDL permite ao utilizador definir tabelas novas e elementos
FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure
Primeiros passos das Planilhas de Obra v2.6
Primeiros passos das Planilhas de Obra v2.6 Instalação, configuração e primeiros passos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Preparar inicialização das
Prova de Fundamentos de Bancos de Dados 2 a Prova
Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Maio de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi usada
ITIL v3 - Operação de Serviço - Parte 1
ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes
Analisando e comparando as funções do DBNavegator
Prof or : Gilberto Braga e Renato Candini Nome Número: Série DELPHI PARA PROGRAMAÇÃO DE COMPUTADORES II AULA 2 Competências: Integrar sistemas; Habilidades: Utilizar modelos, pseudocódigos e ferramentas
Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
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
Transaçõ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
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
SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum
SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Introdução
Fundamentos de Teste de Software
Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 4 Projeto de Teste 1 SUMÁRIO INTRODUÇÃO... 3 ANÁLISE E PROJETO DE TESTE... 3 1.
Manipulando Strings no VBA (Replace, Mid e InStr)
Manipulando Strings no VBA (Replace, Mid e InStr) por Eduardo Vieira Machado (Good Guy) Hoje gostaria de tratar de um assunto bastante atraente no Access e que é muito trabalhado nas empresas - a manipulação
Índice: Nitgen do Brasil www.nitgen.com.br
Índice: CAPÍTULO 3. PROGRAMAÇÃO EM DELPHI...2 3.1 INICIALIZANDO E FECHANDO O MÓDULO...2 3.1.1 Inicializando o módulo...2 3.1.2 Fechar o módulo após o uso...2 3.2 RELACIONANDO OS SENSORES NA PROGRAMAÇÃO...2
Painel de Mensagens TXT 010556 TXT 010764 TXT 020764. Manual do Usuário
Painel de Mensagens TXT 010556 TXT 010764 TXT 020764 Manual do Usuário A GPTRONICS está capacitada a fabricar produtos de excelente qualidade e oferecer todo o suporte técnico necessário, tendo como objetivo
LINGUAGEM SQL. SQL Server 2008 Comandos iniciais
1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.
Introduçã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
Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
EXERCÍCIOS PRÁTICOS. Banco de Dados
EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:
Gerenciamento da Integração (PMBoK 5ª ed.)
Gerenciamento da Integração (PMBoK 5ª ed.) O PMBoK diz que: O gerenciamento da integração do projeto inclui os processos e as atividades necessárias para identificar, definir, combinar, unificar e coordenar
SISTEMA OPERACIONAL - MAC
Manual do Usuário SISTEMA OPERACIONAL - MAC Copyright GVT 2015 Versão 1.0.0 www.gvtcloud.com.br 1 1 Cloud... 3 1.1 Instalação do Cloud... 4 2 Configurações de preferências... 8 2.1 Geral... 10 2.2 Pastas...
PL/pgSQL por Diversão e Lucro
PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do
3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
1. 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
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP
Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP Business One, em apenas uma etapa usando um assistente guiado.
Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery
Sistemas Operacionais Curso Técnico Integrado Profa: Michelle Nery Conteúdo Programático CONTAS DE E GRUPOS DE O Microsoft Management Console - MMC Permissões de Segurança de um Console Contas de Usuários
Mantis. Solicitando suporte. Manual do Cliente
Mantis Solicitando suporte Manual do Cliente Telefones: 3355-1594, 3350-6917, 4053 9165 - WWW.intelidata.inf.br Página 1 2012 Sumário USANDO O MANTIS PARA SOLICITAR SUPORTE... 3 Tela de Login... 3 Minha
DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS
DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS Aluno: Ricardo Gomes Leal Costa Orientadora: Noemi de la Rocque Rodriguez Introdução A biblioteca DALua [1], fruto do projeto anterior, tem por objetivo oferecer
agility made possible
RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility
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
COMO PROGRAMAR SEU TIME
COMO PROGRAMAR SEU TIME 1) INSTALAÇÃO: Instale o simulador da categoria SIMUROSOT da FIRA. O simulador é gratuito e está disponível para download no site da FIRA (www.fira.net) ou no site da competição
GBD PROF. ANDREZA S. AREÃO
GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação
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
