pgScript: um Elefante de barriga cheia

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    pgScript: um Elefante de barriga cheia - Presentation Transcript

    1. Introdu¸˜o ca pgScript Exemplificando Finalizando Um Elefante de barriga cheia Dickson S. Guedes guedes@guedesoft.net FISL Porto Alegre, 2009 26 de junho de 2009 Um Elefante de barriga cheia FISL Porto Alegre, 2009
    2. Introdu¸˜o ca pgScript Exemplificando Finalizando O que ser´ abordado... a Introdu¸˜o ca Gera¸˜o de Dados ca Ferramentas especializadas pgScript Sobre o pgScript Funcionalidades do pgScript Exemplificando Vari´veis, Registros e Sa´ a ıda Condi¸˜es co Gerando dados aleat´rios o Finalizando Um Elefante de barriga cheia FISL Porto Alegre, 2009
    3. Introdu¸˜o ca pgScript Exemplificando Finalizando Gera¸˜o de Dados ca Ciclo de vida do desenvolvimento An´lise a Modelagem Desenvolvimento Teste Suporte e Manuten¸˜o ca Um Elefante de barriga cheia FISL Porto Alegre, 2009
    4. Introdu¸˜o ca pgScript Exemplificando Finalizando Gera¸˜o de Dados ca Solu¸oes manuais (?) c˜ INSERT INTO ... VALUES ... ctrl+c ctrl+v para os amantes do vim: v y p Um Elefante de barriga cheia FISL Porto Alegre, 2009
    5. Introdu¸˜o ca pgScript Exemplificando Finalizando Gera¸˜o de Dados ca Solu¸oes via ferramentas auxiliares c˜ BrOffice Planilha Exporta¸˜o em CSV ca sed, awk, ... Um Elefante de barriga cheia FISL Porto Alegre, 2009
    6. Introdu¸˜o ca pgScript Exemplificando Finalizando Gera¸˜o de Dados ca Solu¸oes via linguagens de programa¸˜o c˜ ca c, c++, ... perl, python, ruby, java, ... Um Elefante de barriga cheia FISL Porto Alegre, 2009
    7. Introdu¸˜o ca pgScript Exemplificando Finalizando Gera¸˜o de Dados ca Solu¸oes baseadas em banco de dados c˜ pl/pgsql INSERT INTO ... SELECT ... random(), generate series() Um Elefante de barriga cheia FISL Porto Alegre, 2009
    8. Introdu¸˜o ca pgScript Exemplificando Finalizando Ferramentas especializadas Solu¸oes Propriet´rias c˜ a EMS Data Generator for PostgreSQL DTM Data Generator GS Data Generator DB Data Generator Um Elefante de barriga cheia FISL Porto Alegre, 2009
    9. Introdu¸˜o ca pgScript Exemplificando Finalizando Ferramentas especializadas Solu¸oes Livres c˜ dbgen (TPC-H) GenerateData.com (Web, Java) Data::Faker (Perl) datagen,faker (Ruby) DBMonster,dgMaster (Java) pgScript (C++) Um Elefante de barriga cheia FISL Porto Alegre, 2009
    10. Introdu¸˜o ca pgScript Exemplificando Finalizando Sobre o pgScript Sobre o pgScript Google Summer of Code 2008 pgUnitTest pgScript Criado por Mickael Deloison Integrado ao pgAdminIII Um Elefante de barriga cheia FISL Porto Alegre, 2009
    11. Introdu¸˜o ca pgScript Exemplificando Finalizando Funcionalidades do pgScript Vari´veis a DECLARE @variavel ´ opcional e Atribui¸˜o com SET @variavel = valor ca PRINT @variavel Um Elefante de barriga cheia FISL Porto Alegre, 2009
    12. Introdu¸˜o ca pgScript Exemplificando Finalizando Funcionalidades do pgScript Controle de Fluxo Teste de Condi¸˜o: IF ca Estrutura de La¸o: WHILE c Um Elefante de barriga cheia FISL Porto Alegre, 2009
    13. Introdu¸˜o ca pgScript Exemplificando Finalizando Funcionalidades do pgScript Gerando dados aleat´rios o INTEGER ( min, max, [sequence], [seed] ); REAL ( min, max, precision, [sequence], [seed] ); Um Elefante de barriga cheia FISL Porto Alegre, 2009
    14. Introdu¸˜o ca pgScript Exemplificando Finalizando Funcionalidades do pgScript Gerando dados aleat´rios o INTEGER ( min, max, [sequence], [seed] ); REAL ( min, max, precision, [sequence], [seed] ); DATE ( min, max, [sequence], [seed] ); TIME ( min, max, [sequence], [seed] ); DATETIME ( min, max, [sequence], [seed] ); Um Elefante de barriga cheia FISL Porto Alegre, 2009
    15. Introdu¸˜o ca pgScript Exemplificando Finalizando Funcionalidades do pgScript Gerando dados aleat´rios o INTEGER ( min, max, [sequence], [seed] ); REAL ( min, max, precision, [sequence], [seed] ); DATE ( min, max, [sequence], [seed] ); TIME ( min, max, [sequence], [seed] ); DATETIME ( min, max, [sequence], [seed] ); STRING ( min, max, [nb], [seed] ); REGEX ( regex, [seed] ); Um Elefante de barriga cheia FISL Porto Alegre, 2009
    16. Introdu¸˜o ca pgScript Exemplificando Finalizando Funcionalidades do pgScript Gerando dados aleat´rios especiais o FILE ( path, [sequence], [seed], [encoding] ); REFERENCE ( table, column, [sequence], [seed] ); Um Elefante de barriga cheia FISL Porto Alegre, 2009
    17. Introdu¸˜o ca pgScript Exemplificando Finalizando Vari´veis, Registros e Sa´ a ıda Um script simples DECLARE @R { @nome, @sobrenome, @email }; SET @R[0][’@nome’] = ’Dickson’; SET @R[0][’@sobrenome’] = ’Guedes’; SET @R[0][’@email’] = ’guedes at guedesoft dot net’; PRINT @R[0][’@nome’]; PRINT @R[0][1]; Um Elefante de barriga cheia FISL Porto Alegre, 2009
    18. Introdu¸˜o ca pgScript Exemplificando Finalizando Vari´veis, Registros e Sa´ a ıda Um script simples - Resultado [PGSCRIPT ] Dickson [PGSCRIPT ] Guedes Um Elefante de barriga cheia FISL Porto Alegre, 2009
    19. Introdu¸˜o ca pgScript Exemplificando Finalizando Condi¸˜es co Testando condi¸oes c˜ SET @total_teste=SELECT count(*) as t FROM teste; PRINT @total_teste; PRINT @total_teste[0][0]; IF CAST(@total_teste AS INTEGER) < 4 BEGIN PRINT ’Total de registros ´ menor que 4!’; e END ELSE BEGIN PRINT ’Total de registros ´ maior que 4!’; e END Um Elefante de barriga cheia FISL Porto Alegre, 2009
    20. Introdu¸˜o ca pgScript Exemplificando Finalizando Condi¸˜es co Testando condi¸oes - Resultado c˜ [QUERY ] SELECT count(*) as t FROM teste [PGSCRIPT ] (5) [PGSCRIPT ] 5 [PGSCRIPT ] Total de registros ´ maior que 4! e Um Elefante de barriga cheia FISL Porto Alegre, 2009
    21. Introdu¸˜o ca pgScript Exemplificando Finalizando Gerando dados aleat´rios o Gerando strings aleat´rias o SET @G = STRING(10, 20, 2); SET @A = @G; -- @A recebe uma string aleatoria SET @B = @G; -- @B recebe *outra* string aleatoria PRINT @G; -- Imprime uma terceira string aleatoria PRINT @A; -- Imprime conteudo da variavel @A PRINT @B; -- Imprime conteudo da variavel @B Um Elefante de barriga cheia FISL Porto Alegre, 2009
    22. Introdu¸˜o ca pgScript Exemplificando Finalizando Gerando dados aleat´rios o Um exemplo mais elaborado CREATE TABLE tb_conta_corrente ( id_conta serial PRIMARY KEY, descriao varchar(60), data_abertura date ); CREATE TABLE tb_movimento_conta ( id_movimento serial PRIMARY KEY, id_conta integer REFERENCES tb_conta_corrente(id_conta) data_hora_movimento timestamp, detalhe varchar(20), valor_movimento numeric(17,2) ); Um Elefante de barriga cheia FISL Porto Alegre, 2009
    23. Introdu¸˜o ca pgScript Exemplificando Finalizando Gerando dados aleat´rios o Criando o script no pgAdminIII - Declarando SET @gen_descricao = STRING(10,20,3); SET @gen_data = DATE(’2000-01-02’,’2009-02-01’); SET @gen_data_hora = DATETIME(’2000-01-02 00:00:00’,’2009-0 SET @gen_detalhe = REGEX(’[a-f]{10}[0-9]{10}’); SET @gen_valor = REAL(0.01,99999999.99,2); Um Elefante de barriga cheia FISL Porto Alegre, 2009
    24. Introdu¸˜o ca pgScript Exemplificando Finalizando Gerando dados aleat´rios o Criando o script no pgAdminIII - Inserindo SET @i = 0; WHILE @i < 20 BEGIN INSERT INTO tb_conta_corrente (descricao, data_abertura) VALUES(’@gen_descricao’, ’@gen_data’); SET @i = @i + 1; END Um Elefante de barriga cheia FISL Porto Alegre, 2009
    25. Introdu¸˜o ca pgScript Exemplificando Finalizando Gerando dados aleat´rios o Criando o script no pgAdminIII - Inserindo SET @gen_id_conta = REFERENCE(’tb_conta_corrente’,’id_conta’); SET @i = 0; WHILE @i < 10 BEGIN INSERT INTO tb_movimento_conta (id_conta, data_hora_movimento, detalhe, valor_movimento) VALUES(@gen_id_conta, ’@gen_data_hora’, ’@gen_detalhe’, @gen_valor); SET @i = @i + 1; END Um Elefante de barriga cheia FISL Porto Alegre, 2009
    26. Introdu¸˜o ca pgScript Exemplificando Finalizando Gerando dados aleat´rios o Saida do pgScript INSERT INTO tb_conta_corrente (descricao, data_abertura) VALUES(’psGlh7NnfuqO9TdgZOG Ml1tqwVvLp9ByQpbRhZ YWNE08oCoj ’2007-07-05’) INSERT INTO tb_conta_corrente (descricao, data_abertura) VALUES(’gnb8g5Eqh47onb63na vL4aggsTcysvbOGVQ ir5CWsX7zBP’, ’2008-01-20’) INSERT INTO tb_conta_corrente (descricao, data_abertura) VALUES(’u2eK4E5k0UvEu5 aDeQfV9pvizSCdWn9p y1GG4efGI7BX8lkX INSERT INTO tb_conta_corrente (descricao, data_abertura) VALUES(’wbvHnHs9yj4GnO3WQVOW Lz9feLSUrk1fRHHNvCX s8MK3i0l4 Um Elefante de barriga cheia FISL Porto Alegre, 2009
    27. Introdu¸˜o ca pgScript Exemplificando Finalizando Gerando dados aleat´rios o Saida do pgScript INSERT INTO tb_movimento_conta (id_conta, data_hora_movimen VALUES(336, ’2007-08-22 20:35:02’, ’efbeeaceef8827613869’, 8.26) INSERT INTO tb_movimento_conta (id_conta, data_hora_movimen VALUES(360, ’2008-03-11 11:13:07’, ’fcacdedcbc8414665323’, 8.85) INSERT INTO tb_movimento_conta (id_conta, data_hora_movimen VALUES(109, ’2002-06-17 01:35:00’, ’eafffdfcea7098959381’, INSERT INTO tb_movimento_conta (id_conta, data_hora_movimen VALUES(310, ’2007-01-19 01:28:32’, ’bfcedceddd1948647555’, INSERT INTO tb_movimento_conta (id_conta, data_hora_movimen VALUES(283, ’2006-06-06 10:54:03’, ’cba Um Elefante de barriga cheia FISL Porto Alegre, 2009
    28. Introdu¸˜o ca pgScript Exemplificando Finalizando Questionamento ? Um Elefante de barriga cheia FISL Porto Alegre, 2009
    29. Introdu¸˜o ca pgScript Exemplificando Finalizando Contato Dickson S. Guedes guedes@guedesoft.net (email, gtalk) guediz (skype) Guedes em irc.freenode.net #postgresql-br #postgresql Um Elefante de barriga cheia FISL Porto Alegre, 2009
    SlideShare Zeitgeist 2009

    + Dickson S. GuedesDickson S. Guedes Nominate

    custom

    199 views, 0 favs, 0 embeds more stats

    Alimentando Bases de dados PostgreSQL com pgScript. more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 199
      • 199 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 2
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories