Índice. Coluna Fábio Camara. Transações com múltiplo tenho um artigo na revista, onde mostro para. Uma metodoligia ágil SCRUM

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

Download "Índice. Coluna Fábio Camara. Transações com múltiplo tenho um artigo na revista, onde mostro para. Uma metodoligia ágil SCRUM"

Transcrição

1 novembro 2008

2 novembro 2008

3 Índice Editorial Coluna Fábio Camara Delphi Neste mês também Transações com múltiplo tenho um artigo na revista, onde mostro para Uma metodoligia ágil SCRUM ClientDataSet vocês as novidades que 09 a Embarcadero incluiu Muitas pessoas equivocadamente entendem que agilidade significa falta de estrutura Delphi 2009 Novidades na VCL do na VCL do Delphi 2009, são novos componentes e organização, porém ausência de estrutura e 16 visuais, que podem dar organização significa na verdade caos. um toque Considerações sobre especial na desempenho de Banco de aplicação. Dados 19.NET Linq to XML Olá pessoal como tinha dito vamos fazer uma serie de artigos falando de LINQ, mês passado falei sobre sua teoria geral e nos aprofundamos mais no LINQ To SQL... Legenda Iniciante Intermediário Avançado 21 Dicas Delphi Arquivo Lista os arquivos e seus atributos Arredondamento Valores Extensos BDE Retorna a quantidade Total de Registros mesmo com a tabela filtrada Componente Saber qual componente recebeu foco DBChart Salvando o conteúdo em uma Imagem JPEG/BMP DBGrid - Colocando um CheckBox em uma coluna lógica Delphi Verifica se a tecla foi pressionada 25 Dicas.NET Como Utilizar Left Join em Consultas LINQ to SQL Abrindo um arquivo existem através da aplicação Formatando valores numéricos com máscara 28 Desafio The CLub Teste seus conhecimentos. 30 novembro

4 Bem-vindo Neste mês Fabio Câmara esta de volta com o artigo Uma metodologia ágil SCRUM - Conceituação sobre metodologias ágeis e SCRUM, neste artigo ele aborda esta metodologia de desenvolvimento ágil que vem entrando no Brasil a pouco tempo embora já seja usado na América do norte a alguns anos. Na seção Delphi temos o artigo Transações com múltiplos ClientDataSets onde nosso consultor Luis Alexandre aborda um assunto comum no dia-a-dia de suporte, onde exemplos de controles de transações são sempre solicitados por nossos sócios. Um artigo muito útil publicado este mês é Considerações sobre desempenho de Banco de dados, onde mostra algumas dicas simples, mas que podem fazer toda a diferença quando se diz respeito à velocidade e performance de consultas SQL em banco de dados, acredito que este artigo seja valido para do programador iniciante ate o mais experiente. Na seção.net Fabiano Belmonte continua com sua série de artigo sobre LINQ To SQL, onde neste mês aprofunda-se mais um pouco sobre o assunto falando de LINQ To XML, que é uma ferramenta muito útil para trabalhar com XML facilitando em muito a vida do programador. Av. Profº Celso Ferreira da Silva, 190 Jd. Europa - Avaré - SP - CEP Informações: (14) Suporte: (14) Internet Cadastro: Suporte: Informações: Skype Cadastro: theclub_cadastro Skype Suporte: theclub_linha1 theclub_linha2 Copyright The Club Megazine 2008 Diretor Técnico Marco César Silva Diagramação e Arte Vitor M. Rodrigues Revisão Marcos César Silva Colunistas Alessandro Ferreira Fabiano Belmonte Fellipe Capolupo Luís Alexandre de Oliveira Marcos César Silva Mauro Sant Anna Victory Fernandes Neste mês também tenho um artigo na revista, onde mostro para vocês as novidades que a Embarcadero incluiu na VCL do Delphi 2009, são novos componentes visuais, que podem dar um toque especial na aplicação. Impressão e acabamento: GRILL - Gráfica e Editora Rua São Paulo, nº 447 Cep: Taquarituba-SP Tel. (14) Reprodução A utilização, reprodução, apropriação, armazenamento em banco de dados, sob qualquer forma ou meio, de textos, fotos e outras criações intelectuais em cada publicação da revista The Club Megazine são terminantemente proibidos sem autorização escrita dos titulares dos direitos autorais. Boa leitura a todos e até o próximo mês. Marcos Césa Silva - Editor Chefe Delphi é marca registrada da Borland International, as demais marcas citadas são registradas pelos seus respectivos proprietários. 04 novembro 2008

5 Coluna Fábio Camara Uma metodologia ágil - SCRUM Conceituação sobre metodologias ágeis e SCRUM Muitas pessoas equivocadamente entendem que agilidade significa falta de estrutura e organização, porém ausência de estrutura e organização significa na verdade caos. Introdução Das muitas definições sobre agilidade que podemos encontrar em livros, revistas e na internet, uma das que mais gosto é: _ Agilidade é a habilidade de criar e responder a mudanças com respeito ao resultado financeiro do projeto em um turbulento ambiente de negócios. Agilidade é a habilidade de balancear flexibilidade com estabilidade. (Highsmith, Jim. Agile Project Management, 2002) Agilidade é uma proposta de desenvolver projetos com uma estrutura e organização suficientes. Muita estrutura e organização reduz a criatividade e a flexibilidade de suportar mudanças, pouca estrutura e organização permeia a ineficiência e resulta em esforços maiores que os necessários. A diferença entre caos e agilidade pode ser verificada nos produtos resultantes. Considerando o mesmo cenário turbulento de negócios 1, nas equipes que convivem com o caos verificamos atrasos constantes, baixissíma qualidade dos sistemas, problemas com estimativas e estouro de orçamento. Nas equipes que utilizam-se de métodos ágeis percebemos entregas parciais constantes, interação com clientes para revisão de estimativas e orçamento conjuntamente com antecedência salutar ao projeto e principalmente dois pontos fundamentais: compromisso com a satisfação do cliente e responsabilidade com o resultado financeiro do projeto. Empresas procuram métodos ágeis As metodologias ágeis estão disponíveis desde a década passada, porém foi no ano de 2001 que houve a formalização com a assinatura do manifesto ágil (Manifesto for Agile Software Development - Inicialmente houve uma desconfiança geral por parte da indústria de software, certamente impulsionada pelas diferenças aos métodos tradicionais e as questões das dificuldades de quebra de paradigmas por parte das pessoas. Nesta 1- O autor entende como cenário turbulento de negócios as demandas oriundas de empresas no qual a necessidade de prazos rápidos e a competitividade são predominantes como regra de sobrevivência no seu próprio mercado de atuação. novembro

6 época tornou-se bastante famosa a metodologia XP (extreme Programming), pois propunha sem hipocrisia uma série de métodos polêmicos, muitos deles questionáveis até hoje como por exemplo a programação em pares e o cliente ao lado do desenvolvedor durante o projeto. Lentamente, a indústria de software impulsionada pela necessidade de obter resultados diferentes dos obtidos pelos métodos tradicionais, verificou que pessoas válidas estavam propondo métodos sérios e factíveis. Desta forma, determinadas práticas ágeis começaram a ser utilizadas em projetos de software sem a agressividade 2 pela adoção plena de uma metodologia ágil. 2- O autor define como agressividade neste contexto, a quantidade de procedimentos que deveriam ser mudados no caso da adoção plena da metodologia ao invés da adoção de apenas alguns dos métodos propostos pela metodologia. Alguns destes métodos, compreendidos de forma inadequada, causavam uma dificuldade de percepção dos resultados. Um ótimo exemplo disto é a iteração. A iteração, que em tradução simples quer dizer repetição, foi confundida com interação em alguns casos, e pela tradução simples definida como repetição. Na verdadeira definição ágil, iteração está mais para processos confiáveis do que processos repetíveis. Na lingua inglesa também verificamos este desentendimento quando estudamos em textos ágeis as palavras repeatable e reliable. A confusão entre confiável e repetível acontece porque muitos gestores de empresas gostam de formalizar processos muito estruturados e precisos (repetíveis) no lugar de formalizar processos suficientemente estruturados e flexíveis (confiáveis). Processos repetíveis focam na entrada das atividades, processos confiáveis focam no resultado das atividades. Outros métodos, por oferecerem propostas mais simples de compreensão e apuração de resultado, começaram a chamar a atenção positivamente da indústria de software. Face a isso, iniciou-se um movimento liderado pelas universidades no Brasil (hoje sou consultor de metodologias ágeis da USP) que objetiva esclarecer os métodos e gerar conteúdos práticos que facilitem a implantação de tais propostas metodológicas. Certificadas de que estes métodos funcionam, as empresas de software começaram a estudar uma proposta de metodologia classificada como ágil que propõe novos métodos em substituição aos métodos praticados tradicionalmente. Este critério de escolha, que em minha opinião está suficientemente maduro, buscou primeiramente resolver as questões acerca da organização, distribuição e controle das atividades de um projeto de software. Eis a explicação da escolha da metodologia SCRUM pelo mercado de empresas desenvolvedoras de software. SCRUM, muito simples de usar A metodologia SCRUM está entrando na moda aqui no Brasil, após já haver conquistados inúmeras empresas da indústria de software na América do Norte. Particularmente, eu considero o SCRUM uma proposta extremamente prática e honesta. Defino por prática neste contexto a facilidade de compreensão e aplicação em nosso ambiente de desenvolvimento de software. Defino por honesta a fidelidade entre a proposta do método e o resultado que podemos obter após aplicá-lo. SCRUM, nome utilizado inicialmente pelos japoneses Hirotaka Takeuchi e Ikujiro Nonaka, descrevia um tipo de processo de desenvolvimento de produto utilizado no Japão.Também o nome SCRUM foi escolhido pela similaridade entre o jogo de Rugby e o tipo de desenvolvimento de produto comentado. Ambos são adaptativos, rápidos e promovem a auto-organização. Para explicar SCRUM, utilizarei uma estratégia que foi usada pelo Ken Schwaber 3 em seu livro chamado Agile Project Development with SCRUM. Na minha leitura, este é o melhor livro disponível lançado até a presente data. 3- Ken Schwaber junto com Jeff Sutherland foram os formalizadores das primeiras versões de SCRUM como metodologia para desenvolvimento de projetos de software. Ken está trabalhando neste projeto desde o início dos anos 90. Iniciando um projeto, há uma formalização de todas as coisas que se pretende fazer ou que 06 novembro 2008

7 se precisar construir no projeto. Cada item desta lista representa um requisito funcional, ou requisito não funcional, ou questão de tecnologia / infra-estrutura. Esta lista é denominada Product Backlog. Podemos traduzir Product Backlog como uma lista de todos os requisitos de um produto priorizados, ou, em outras palavras, é qualquer coisa que represente um trabalho que precisa ser feito para o produto. Os itens com maior prioridade nesta lista são os requisitos mais desejados pelo produto. No projeto real, o Product Backlog nunca é finalizado. Existe uma natural evolução e maturidade dos requisitos nesta lista. Requisitos novos podem aparecer, requisitos existentes podem perder prioridade e podem até serem eliminados. Apesar de se permitir que áreas usuárias manifestem seus pedidos nesta lista, somente o Product Owner pode priorizar o Backlog. O Product Owner possui a responsabilidade de definir a ordem que os requisitos serão produzidos pela equipe de desenvolvimento. Esta equipe deve ser pequena, multi-disciplinar e capaz de desenvolver todos os requisitos. Esta equipe recebe o nome de SCRUM Teams. A preparação dos trabalhos é denominada SPRINT Planning. SPRINT Planning é composta dos seguintes ingredientes: Product Backlog, a capacidade de desenvolvimento da equipe, as condições e exigências do negócio, as características da tecnologia a ser usada e o comprometimento em entregar produtos executáveis incrementais. A mistura são revisões, administração e organização. Os resultados são SPRINT Goal e SPRINT. O SCRUM Team deve desenvolver os itens separados pelo Product Owner em um determinado prazo previamente combinado. Este prazo é definido como Time Box e o trabalho de desenvolver os itens separados neste time box é denominado SPRINT. Estes itens separados do Product Backlog fazem parte de uma nova lista. Esta lista, chamada SPRINT Backlog, será de total responsabilidade do SCRUM Team que deverá mantê-la e organizá-la de tal forma a atender os objetivos do específico SPRINT. É permitido ter mais de um SCRUM Team trabalhando no mesmo Product Backlog, por isso os requisitos são devidamente separados em SPRINT Backlog distintos por equipe. A liderança destas equipes é exercida por um papel denominado SCRUM Master. O SCRUM Master é um facilitador da gestão dos requisitos e direcionador da gestão das equipes. Este papel deve garantir a correta utilização das práticas de Figura 1 SCRUM, deve ajudar a equipe a tomar decisões e apoiar a equipe para adquirir os recursos necessários para o desenvolvimento do produto. Este método de liderança é exercido através de 3 recorrentes tipos de reunião: SCRUM Daily Meeting, SPRINT Review e Retrospective. Começando pelo SPRINT Review que é a reunião típica de final de SPRINT (alguns SCRUM Team também a fazem no meio do SPRINT) para validar o produto executável que a equipe conseguiu incrementar. Explicando a Retrospective, é uma reunião que também acontece ao final do SPRINT com o objetivo de fortalecer a unidade de ação da equipe. Três perguntas deverão ser respondidas com seriedade por todos os membros do SCRUM Team: 1- O que você fez e gostou neste SPRINT? 2- O que você fez e não gostou neste SPRINT? 3- O que você vai fazer diferente no próximo SPRINT? O desenvolvimento de projetos de software é um desafio constante, é uma atividade complexa. Todo processo complexo exige uma intensa comunicação entre todos os membros do projeto. SCRUM Daily Meeting é a resposta para promover a comunicação da equipe. Todos os dias, obrigatoriamente, todo o SCRUM Team irá se reunir por 15 minutos aproximadamente para responder a 3 importantes perguntas. Sugerimos que está reunião seja de pé, pois temos verificado bons resultados em nossas práticas. As perguntas são: 1- O que eu fiz desde a última SCRUM Daily Meeting até agora? 2- O que eu vou fazer hoje? 3- O que pode me impedir? Adicionalmente as técnicas apresentadas neste artigo, temos observado que a utilização de KANBAN (ver figura abaixo) ajuda a maximizar o compromentimento da equipe e a comunicação de todos os comprometidos e envolvidos com o projeto. Observe a Figura 1 Nossa implementação de KANBAN na empresa REPOM dirigida pelo SCRUM Master Marcelo Martins. As cores amarela e laranja representam diferentes complexidades das atividades. A cor pink representa atividades não planejadas no SPRINT que foram incluídas por motivo de força maior. Por se tratar de um extenso assunto, abordaremos detalhes explicativos sobre o que é KANBAN e como se utiliza em projetos de software no nosso próximo artigo técnico. Para saber mais recomendamos os livros: - Agile Project Management by Jim Highs- novembro

8 A utilização de métodos ágeis, com a adequação mental 5 conforme os princípios estabelecidos pelas metodologias ágeis, mudaram minha vida profissional perante o cenário anteriormente descrito. Eu consigo fazer atividades planejadas, consigo priorizar atividades importantes e tenho um pequeno índice de atividades urgentes no meu dia-a-dia. Eu me sinto protagonista do meu dia. 5- Defino por adequação mental neste contexto, a responsabilidade com o questionamento de seus próprios paradigmas. É necessária uma mudança de comportamento e uma revisão de valores. As metodologias ágeis são uma positiva proposta para as empresas desgastadas com os resultados proporcionados por waterfall approach to software development ou pela ausência de métodos. Para iniciantes em metodologias ágeis, eu recomendo o SCRUM. Para praticantes de métodos ágeis que não conhecem o SCRUM, permitam-se mais uma evolução. mith. - Agile Software Development with SCRUM by Ken Schwaber e Mike Beedle. - Agile Project Management with SCRUM by Ken Schwaber. - Treinamento MSF Agile + SCRUM + Agile Methods em Considerações Finais Nós, praticantes das metodologias ágeis, acreditamos que todos os projetos são diferentes. A tecnologia destes projetos são diferentes. As pessoas, os requisitos idem. Nós não queremos ser indivíduos críticos do que existe há muito tempo na engenharia de software, nós queremos sugerir, proporcionar e fundamentar alternativas novas para resolver problemas antigos. Na grande maioria das consultorias que ministro sob a titulação de coaching para fins de crescimento dos resultados qualitativos e produtivos de equipes de desenvolvimento de software, encontro pessoas que utilizando-se de métodos tradicionais ou simplesmente de improviso diário (também denominado ausência de métodos ) revelam-me uma estranha e frustante sensação A Síndrome do Trabalho Vazio. A STV 4 é a sensação que ocorre depois de um intenso dia de trabalho repleto de aborrecimentos e de atividades urgentes, quando percebe-se que no final todas as atividades planejadas para aquele dia não puderam ser implementadas. É uma constatação que se é uma espécie de marionete do tempo, da empresa e dos clientes. 4- STV foi um termo criado em uma de minhas reuniões de trabalho com os profissionais da USP, quando queríamos definir aspectos pessoais motivadores para incentivar a adoção de nossas propostas de métodos ágeis na instituição de ensino. O slogan ficou: Combata a STV com agilidade no seu dia-a-dia. Sucesso em seus projetos. Sobre o autor Fábio Câmara com.br): é consultor e implanta metodologias, processos para equipes de desenvolvimento e ferramentas para automação de ciclo de vida de desenvolvimento de software. Seus trabalhos podem ser verificados no site o título Microsoft MVP para a ferramenta Visual Studio Team System e possui os certificados SCRUM Master, MSF Practitioner, ITIL Foundations e MCTS Team Foundation Server. 08 novembro 2008

9 Delphi Transações com múltiplos ClientDataSets Muito dos associados nos tem questionado como proceder com transações em firebird. Antes de tudo, vamos partir para uma abordagem conceitual. TRANSAÇÃO É um conjunto de procedimentos que é executado num banco de dados, que para o usuário é visto como uma única ação. Exemplo: A transferência de fundos de uma conta corrente pra uma conta poupança é uma operação única do ponto de vista do cliente, porém, dentro de sistemas de banco de dados, ela envolve várias operações. É essencial que todo o conjunto de operações seja concluído, ou que, no caso de uma falha, nenhuma delas ocorra. Essas operações, que formam uma única unidade lógica de trabalho são chamadas de transações. Portanto Um SGBD precisa: Garantir que a execução da transação seja completa; Administrar a execução simultânea de várias transações evitando inconsistências; Uma transação que calcula o total de dinheiro do cliente poderia trabalhar com o saldo da conta corrente antes do débito feito pela transação de transferência e, também, verificar o saldo da poupança depois do crédito. Com isso, obteria um resultado incorreto. A integridade de uma transação depende de 4 propriedades: Atomicidade Trata o trabalho como parte indivisível (atômico). A transação deve ter todas as suas operações executadas em caso de sucesso ou nenhum resultado de alguma operação refletido sobre a base de dados em caso de falha. Ou seja, após o término de uma transação (commit ou abort), a base de dados não deve refletir resultados parciais da transação. Ex: Ou todo o trabalho feito, ou nada é feito. Consistência Regras de integridade dos dados são asseguradas, ou seja, as transações não podem quebrar as regras do Banco de Dados. Isolamento Tudo se parece como se o trabalho estivesse isolado. O resultado de uma transação executada concorrentemente a outra deve ser o mesmo que o de sua execução de forma isolada. Operações exteriores a uma dada transação jamais verão esta transação em estados intermediários. Transação Y altera o nome do cliente. Transação X altera o nome do mesmo cliente; Ex: Duas transações executadas juntas. novembro

10 Ao fazer insert, update ou delete enquanto a transação estiver em andamento todos os dados da tabela serão alocados para aquela transação, portanto a transação X só poderá ser executada após a conclusão da transação Y. Esta escolha é feita pelo banco de dados e ele executa primeiro uma transação depois a outra. Uma transação só pode ser simultânea se elas não alterarem os mesmos dados. Durabilidade Os efeitos de uma transação em caso de sucesso (commit) são permanentes mesmo em presença de falhas. Operações Adicionais Uma transação é uma unidade de trabalho atômica que é completada em sua totalidade ou nada dela deve ter efeito. Para tornar isso possível, as seguintes operações são necessárias: StartTransaction: Denota o início da execução da transação; Commit (confirma) ou Rollback (cancela): Denota o término de uma transação. /* Table: CLIENTES */ CREATE TABLE CLIENTES ( ID_CLIENTE INTEGER NOT NULL, NOME VARCHAR (50) CHARACTER SET NONE COLLATE NONE, ENDERECO VARCHAR (50) CHARACTER SET NONE COLLATE NONE, BAIRRO VARCHAR (30) CHARACTER SET NONE COLLATE NONE, CIDADE VARCHAR (30) CHARACTER SET NONE COLLATE NONE, TELEFONE VARCHAR (15) CHARACTER SET NONE COLLATE NONE); /* Primary keys definition */ ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (ID_CLIENTE); /* Indices definition */ CREATE UNIQUE INDEX PK_CLIENTES ON CLIENTES (ID_ CLIENTE); SET TERM ^ ; Abordagem prática Vamos trabalhar com um simples cenário envolvendo as tabelas Clientes- Pedidos- Itens- Produtos. Para implementar a solução utilizei o EMS Interbase & Firebird Manager 3. Observe o script na listagem 1: Agora vamos criar 2 generator para utilizarmos como geradores das PKs: Gen_Id_Pedido e Gen_Id_Itens Figura 1. Layout sugerido formulário Pedidos Neste formulário adicionei os seguinte componentes da paleta DBExpress: TSQLConnection - Pedidos TSQLDataSet o Name: sdspedidos o CommandText: Select P.*, C.NOME FROM PEDIDOS P LEFT OUTER JOIN CLIENTES C ON (C.ID_CLIENTE=P.ID_CLIENTE) /* Table: PEDIDOS */ CREATE TABLE PEDIDOS ( ID_PEDIDO INTEGER NOT NULL, DATA DATE, ID_CLIENTE INTEGER); /* Primary keys definition */ ALTER TABLE PEDIDOS ADD CONSTRAINT PK_PEDIDOS PRIMARY KEY (ID_PEDIDO); /* Foreign keys definition */ ALTER TABLE PEDIDOS ADD CONSTRAINT FK_PEDIDOS_2 FOREIGN KEY (ID_CLIENTE) REFERENCES CLIENTES (ID_ CLIENTE); /* Indices definition */ CREATE INDEX FK_PEDIDOS_2 ON PEDIDOS (ID_CLIENTE); CREATE UNIQUE INDEX PK_PEDIDOS ON PEDIDOS (ID_ PEDIDO); TDataSetProvider o DataSet sdspedidos SET TERM ^ ; listagem novembro 2008

11 o UpdateMode upwherekeyonly TclientDataSet o Name - cdspedidos o ProviderName- dsppedidos Configuração dos providersflags dos Tfields do sdspedidos ID_Pedido pfinupdate, pfinwhere, pfinkey = true. O restante marque como false. Data e ID_Cliente Somente o pfinupdate com true, deixando o restante como false Nome Todos Providers flags como false Faço o mesmo para os providersflags do cdspedidos. Itens o TDataSource Name: dspedido_itens DataSet: sdspedidos TSQLDataSet o Name: sdsitens o CommandText: SELECT I.*, P.NOME FROM ITENS I LEFT OUTER JOIN PRODUTOS P ON (P.ID_PRODUTO=I.ID_PRODUTO) WHERE I.ID_PEDIDO=:ID_PEDIDO o DataSource : dspedido_itens TClientDataSet o Name: cdsitens o ProviderName- dsppedidos o DataSetField cdspedidossdsitens ( não se esqueçam de carregar no cdspedidos o TField o sdsitens para efetuar o relacionamento mestredetalhe) Configuração dos providersflags dos TFields do sdsitens ID_Item pfinupdate, pfinwhere, pfinkey = true. O restante marque como false. ID_PEDIDO,ID_PRODUTO,QUANTIDADE Somente o pfinupdate com true, deixando o restante como false Nome Todos Providers flags como false /* Table: ITENS */ CREATE TABLE ITENS ( ID_ITEM INTEGER NOT NULL, ID_PEDIDO INTEGER, ID_PRODUTO SMALLINT, QUANTIDADE INTEGER); /* Primary keys definition */ ALTER TABLE ITENS ADD CONSTRAINT PK_ITENS PRIMARY KEY (ID_ITEM); /* Foreign keys definition */ ALTER TABLE ITENS ADD CONSTRAINT FK_ITENS_2 FOREIGN KEY (ID_PEDIDO) REFERENCES PEDIDOS (ID_PEDIDO); ALTER TABLE ITENS ADD CONSTRAINT FK_ITENS_3 FOREIGN KEY (ID_PRODUTO) REFERENCES PRODUTOS (ID_PRODUTO); /* Indices definition */ CREATE INDEX FK_ITENS_2 ON ITENS (ID_PEDIDO); CREATE INDEX FK_ITENS_3 ON ITENS (ID_PRODUTO); CREATE UNIQUE INDEX PK_ITENS ON ITENS (ID_ITEM); SET TERM ^ ; /* Table: PRODUTOS */ CREATE TABLE PRODUTOS ( ID_PRODUTO INTEGER NOT NULL, NOME VARCHAR (60) CHARACTER SET NONE COLLATE NONE, ESTOQUE INTEGER); /* Primary keys definition */ ALTER TABLE PRODUTOS ADD CONSTRAINT PK_PRODUTOS PRIMARY KEY (ID_PRODUTO); /* Indices definition */ CREATE UNIQUE INDEX PK_PRODUTOS ON PRODUTOS (ID_ PRODUTO); listagem 01 novembro

12 Faço o mesmo para os providersflags do cdsitens. Produtos TSQLDataSet o Name: sdsprodutos o CommandText: SELECT * FROM PRODU- TOS TDataSetProvider o DataSet dspprodutos o UpdateMode upwherekeyonly TclientDataSet o Name - cdsprodutos o ProviderName- dspprodutos Configuração dos providersflags dos Tfields do sdsprodutos ID_Produto pfinupdate, pfinwhere, pfinkey = true. O restante marque como false. Nome Somente o pfinupdate com true, deixando o restante como false Faço o mesmo para os providersflags do cdsprodutos Faça a conexão do DBGrid_Itens com o dsitens. Adicione uma variável global TD: TTransactionDesc; // descreve uma transação Vamos buscar o cliente pelo código. Observem a listagem 2 Gerando numeração automática de campos Na edição dos mês de outubro de 2005 tem um artigo que aborda como gerar numeração automática pelo dbexpress. Observe a função na listagem 3. Figura 1 procedure TfrmPedidos.DBEdit2Exit(Sender: TObject); var Consulta: TSQLDataSet; if cdspedidos.state in [dsinsert, dsedit] then Consulta := TSQLDataSet.Create(Application); Consulta.SQLConnection := Conexao; Consulta.Close; Consulta.CommandText := Format( select NOME from clientes where ID_CLIENTE = %d, [StrToInt(DBEdit2.Text)]); Consulta.Open; cdspedidosnome.asstring := Consulta.Fields[0]. AsString; listagem 02 function TfrmPedidos.AutoInc(Generator: string; conexao: TSQLConnection): Integer; var SQLGen: TSQLDataSet; SQLGen := TSQLDataSet.Create(Application); try SQLGen.SQLConnection :=Conexao; SQLGen.CommandText := Select Cast(Gen_Id( + Generator +,1) as Integer) as Codigo From Rdb$Database ; SQLGen.Open; Result := SQLGen.FieldByName( Codigo ). AsInteger; SQLGen.Close; finally SQLGen.Free; listagem novembro 2008

13 Crie um procedimento para fazer as operações no banco de dados e um procedimento para controle dos botões na listagem 4. No botão incluir chamamos o procedimento Manutenção. Listagem 5 procedure TfrmPedidos.Manutencao(Botao: Integer; DataSet: TClientDataSet); case Botao of 1 : DataSet.App DBEdit2.SetFocus; 2 : DataSet.Edit; DBEdit2.SetFocus; 3 : if MessageDlg( Confirma a exclusão?, mtconfirmation, [mbyes, mbno], 0) = mryes then DataSet.Delete; 4 : if MessageDlg( Confirma a gravação?, mtconfirmation, [mbyes, mbno], 0) = mryes then DataSet.Post; 5 : if MessageDlg( Cancelar a edição?, mtconfirmation, [mbyes, mbno], 0) = mryes then DataSet.Cancel; 7 : Close; procedure TfrmPedidos.dsPedidoStateChange(Sender: TObject); BT_Inclui.Enabled := not (dspedido.state in [DSINSERT,DSEDIT]); BT_Alterar.Enabled := not (dspedido.state in [DSINSERT,DSEDIT]); BT_Excluir.Enabled := not (dspedido.state in [DSINSERT,DSEDIT]); BT_Grava.Enabled := dspedido.state in [DSINSERT,DSEDIT]; BT_Cancela.Enabled := dspedido.state in [DSINSERT,DSEDIT]; BT_Pesquisa.Enabled := not (dspedido.state in [DSINSERT,DSEDIT]); BT_Sair.Enabled := not (dspedido.state in [DSINSERT,DSEDIT]); listagem 04 procedure TfrmPedidos.bt_incluiClick(Sender: TObject); Manutencao((Sender as TSpeedButton).Tag, cdspedidos); listagem 05 novembro

14 Vamos criar um form para o usuário selecionar o produto e definir a quantidade. Figura 2 No evento onexit do edtcodigo fiz a seguinte rotina para busca o produto pelo código. Listagem 6 O DataSource (dsitens) da figura 2 está ligado com o frmpedidos.cdsitens. O DBtext1 e o DBEdit1 está ligado com o DataSource(dsItens) da figura 2. No botão Incluir do formulário Pedidos adicione o seguinte script(listagem 7) Observem que é neste momento efetuaremos a baixa no estoque Figura 2 procedure TfrmItens. edtcodigo Exit(Sender: TObject); var Consulta: TSQLDataSet; Consulta:=TSQLDataSet.Create(Application); Consulta.SQLConnection:=frmPedidos.Conexao; Consulta.Close; Consulta.CommandText:= Format( select NOME from PRODUTOS where ID_PRODUTO = %d,[strtoint(edit1. Text)]); Consulta.Open; frmpedidos.cdsitensnome.asstring:=consulta. Fields[0].AsString; listagem 06 procedure TfrmPedidos.btnIncluirClick(Sender: TObject); Var Estoque:Integer; awhere:string; asql:string; frmitens := TfrmItens.Create(Self); cdsitens.insert; if frmitens.showmodal = mrok then cdsitensquantidade.asinteger:=strtoint(frmitens. Edit1.text); asql:= select * from Produtos ; awhere:= format( where ID_PRODUTO= %d,[cdsitensid_produto.asinteger]); cdsprodutos.close; cdsprodutos.commandtext:= asql + awhere; cdsprodutos.open; Estoque:=cdsProdutosESTOQUE.AsInteger - cdsitensquantidade.asinteger; cdsprodutos.edit; cdsprodutosestoque.asinteger:=estoque; cdsprodutos.post; cdsitens.post; end else cdsitens.cancel; frmitens.free; listagem novembro 2008

15 Nos eventos BeforePost dos CdsPedidos e CdsItens adicionem respectivamente(listagem 8) Para finalizar, vamos proceder a tratamento de transação explícita com múltiplos clientdataset No evento AfterPost do cdspedidos. Listagem9 Conclusão Vimos nesse artigo como é tranqüilo tratar transações com múltiplos ClientDatasets. Até a próxima Sobre o autor Luís Alexandre de Oliveira é Técnologo em Processamento de Dados,graduado pela Faculdade de Técnologia de Sorocaba, Consultor técnico do The Club Docente do curso técnico informática - Etec de Avaré e do curso Tecnologia em Redes de Computadores - Fatec Eduvale Avaré procedure TfrmPedidos.cdsPedidosBeforePost(DataSet: TDataSet); if DataSet.State = dsinsert then DataSet.FieldByName( ID_PEDIDO ).AsInteger := AutoInc( GEN_ID_ PEDIDO, CONEXAO); procedure TfrmPedidos.cdsItensBeforePost(DataSet: TDataSet); if DataSet.State = dsinsert then DataSet.FieldByName( ID_ITEM ).AsInteger := AutoInc( GEN_ID_ ITEM, CONEXAO); listagem 08 procedure TfrmPedidos.cdsPedidosAfterPost(DataSet: TDataSet); try { **** Iniciando a transação **** } TD.TransactionID := 1; // valor para transação TD.IsolationLevel:= xilreadcommitted;// Mudanças podem ser vistas por outras transações somente quando efetuadas (comitadas, commited) Conexao.StartTransaction(TD); if cdspedidos.applyupdates(0) = 0 then if cdsprodutos;applyupdates(0)= 0 then Conexao.Commit(TD) except Conexao.Rollback(TD); ShowMessage( Erro na gravação ); listagem 09 novembro

16 Para aqueles que não tiveram a oportunidade de ter contato com a nova versão do Delphi, neste arquivo levo até vocês algumas das novidades na VCL do Delphi 2009, que são novos componentes visuais com recursos bastante interessantes e úteis no nosso dia-a-dia. Veremos agora algumas destas novidades: TCategoryPanelGroup O TCategoryPanelGroup é um componente com características similar a barra de ferramentas do Microsoft Outlook, neste componente incluído na paleta Additional temos panels que podem conter qualquer tipos de componente visual, ou seja este componente é uma coleção de painéis tem a principal características de ocultar e mostrar cada um de seus painéis. Este foi um recursos tão desejado e comentado a anos atrás que até foi tema de artigo do The Club em Maio de 2002, onde publicamos o artigo Criando uma barra de ferramentas no estilo do Outlook, theclub.com.br/revista/cria0502b.aspx. Agora com este recurso incluído na paleta de componentes do Delphi, implementar o visual do Microsoft Outlook na sua aplicação ficou absurdamente simples. Dentre os diversos recursos, podemos alterar a cor de cada panel, incluir imagens no cabeçalho dos painéis. Veja a imagem 1. TButtonedEdit O TButtonedEdit é um Edit da paleta Additional que permite incluir 2 botões, um a direita e outra a esquerda do texto, aonde associado a um ImageList os botões ficam associados a cada imagem desejada. Neste componente cada um dos botões possuem o evento de clique distinto, o OnRightButtonClick e o OnLeftButtonClick. Veja imagem 2. Imagem 2 Imagem 1 16 novembro 2008

17 TLinkLabel O componente TLinkLabel da paleta Additional, é um label com o recurso de incluir tags HTML, onde por exemplo se na propriedade caption do componente colocarmos a seguinte tag HTML, teremos o efeito da imagem 3. Imagem 3 LinkLabel1.Caption := O maior clube de programadores do Brasil: <a href="http://www.theclub. com.br">the Club</a> ; Podemos também usar o evento OnLinkClick para chamar o navegador com o link que foi clicado, veja o código 01: TCustomHint e TBalloonHint implementation uses ShellApi; {$R *.dfm} procedure TForm1.LinkLabel1LinkClick(Sender: TObject; const Link: string; LinkType: TSysLinkType); ShellExecute(Handle, Open, Pchar(link), nil, nil, sw_shownormal); A propriedade CustomHint inclusos em todos os controles da VCL, permite que cada controle end. Código 01 novembro

18 se associe ao componente TBallonHint, que nada mais é do que um componente que permite inserir características visuais mais elaboradas ao Hint dos controle, neste caso exibindo Hint em formato de balão, veja imagem 4. Da mesma forma que o TBallonHint é herdado da classe TCustomHint, o desenvolvedor poderá criar seu próprio componente Hint e associá-lo aos controles uma vez herdando seu componente da classe TCustomHint. Para exibirmos imagem no balão do hint ligaremos a propriedade BalloonHint1.Images a um ImageList1 com as imagens definidas, no controle Edit por exemplo ligaremos a propriedade Edit1. CustomHint ao component e BalloonHint1, e na propriedade hint agora teremos as 3 informações, a primeira que é o título do hint, a segunda a mensagem propriamente dita e por ultimo o índex da imagem do ImageList ligado ao BalloonHint1, veja exemplo abaixo. Edit1.Hint := Compromisso Digite seu compromisso 2 ; Veja a Imagem 4 Imagem 4 Conclusão Vimos apenas algumas das novidades do Delphi 2009, embora neste artigo tenhamos visto poucos controles, observamos a iniciativa da Embarcadero de inovar nesta nova versão. Para aqueles desejem ver de perto estas novidades sugiro que faça o download da versão Trial no site da Embarcadero o link Free.aspx?id= Um grande abraço a todos. Sobre o autor Marcos César Silva, Consultor de Sistemas na consultoria de sistemas DataSmart e Consultor Técnico do The Club, Bacharel em Ciência da Computação, MBA em Gestão Empresarial, Certificações MCAD (Microsoft Certified Application Developer) e MCSD.NET (Microsoft Certified Solution Developer.NET) 18 novembro 2008

19 Considerações sobre Desempenho de Banco de Dados No nosso dia a dia, nos deparamos com a necessidade constante da utilização de instruções SQL s, e quase sempre há necessidade de realizarmos consultas muitas vezes complexas, daí a necessidade de nos atentarmos quanto ao desempenho das mesmas. Neste contexto, vamos mencionar neste artigo, algumas cláusulas e operadores que devemos evitar seu uso, são eles: Operador LIKE e os coringas Operador OR Evitar Procedures Armazenadas (Stored Procedures) Clausula HAVING Evitar Operações de classificações grandes Consulta 1 SELECT ID_PRODUTO, PRODUTO FROM PRODUTOS WHERE PRODUTO LIKE %P%; Consulta 2 SELECT ID_PRODUTO, PRODUTO FROM PRODUTOS WHERE PRODUTO LIKE %PARAF% ; Consulta 3 SELECT ID_PRODUTO, PRODUTO FROM PRODUTOS WHERE PRODUTO PAR% ; rápida e eficaz. OPERADOR OR Sempre que possível na construção de instruções SQL, devemos substituir a utilização do operador OR pelo IN, pois haverá substancial aumento na velocidade do retorno dos dados em uma query. Vejamos um exemplo: Consulta utilizando OR: SELECT ID_PRODUTO, PRODUTO, TIPO FROM PRODUTOS WHERE TIPO = ELETRICO OR TIPO = HIDRAULICO OR TIPO = ACABAMENTO ; Operador LIKE e uso de Coringas O operador LIKE é um opção extremamente útil e principalmente pela sua flexibilidade. Os Coringas são úteis na utilização de consultas para retorno de dados similares. Assim vamos observar isto na prática: Vamos construir três Consultas: Veremos que as consultas retornarão resultados diferentes. A primeira consulta retornará um numero muito maior de registros, assim as consultas numero 2 e 3, por serem mais específicas com certeza retornaram menos dados que a consulta numero 1, acelerando em muito a velocidade e filtro dos dados desejados. Na consulta numero 3, realizamos um filtro buscando pelas três primeiras strings, assim efetuará o retorno dos dados de maneira mais Realizando a mesma consulta utilizando o operador IN: SELECT ID_PRODUTO, PRODUTO, TIPO FROM PRODUTOS WHERE TIPO IN ( ELETRICO, HIDRAULICO, ACABAMENTO ); novembro

20 PROCEDURES ARMAZENADAS Procedures Armazenadas ou simplesmente STORED PROCEDURES, somente devem ser criadas para instruções SQL s que são executadas regularmente, para transações ou consultas grandes. CLAUSULA HAVING A clausula HAVING, também é um recurso extramamente útil, mas o seu uso implica no comprometimento no tempo de retorno de dados. Vejamos um exemplo de utilização de HA- VING: SELECT ID_FUNCIONARIO, FUNCIONARIO, CIDADE, SALARIO FROM FUNCIONARIOS WHERE CIDADE = CAMPINAS HAVING AVG(SALARIO) > 5000; OPERAÇÕES DE CLASSIFICAÇÃO GRAN- DES Grandes operações de classificação requerem o uso de GROUP BY, ORDER BY e HAVING, assim devemos nos atentar quanto ao uso destas clausulas pois afetam significativamente o tempo de reposta de dados. VARREDURAS EM TABELAS A varredura deve ser evitada em tabelas grandes, assim um índice é absolutamente relevante em grandes tabelas. Assim as colunas a serem indexadas são: COLUNAS COM CHAVES PRIMÁRIAS (PRIMARY KEY) COLUNAS COM CHAVES ESTRANGEIRAS (FOREIGN KEY) COLUNAS COM ALTA PORCENTAGEM DE VALORES ÚNICOS COLUNAS UTILIZADAS PARA UNIR TA- BELAS USO ADEQUADO DO CLAUSULA FROM NA TABELA A alocação das tabelas na clausula FROM, pode significar um aumento considerável no desempenho de uma instrução SQL. Assim listar as tabelas menores e depois as tabelas maiores mostra-se muito mais eficiente. Exemplo: SELECT <CAMPOS> FROM <TABELA MENOR>, <TABELA MAIOR> WHERE <CONDIÇÕES> Salientamos que, quando falamos em desempenho, temos que levar em conta a configuração do equipamento (Hardware) utilizado, como também o volume de registros armazenados em uma base. Embora não seja recomendado o uso de certos operadores e clausulas em instruções SQL, há situações que infelizmente seu uso é inevitável face a situações impostas, assim neste caso teremos que sacrificarmos o desempenho. Sobre o autor Marco Antonio Armando Consultor Técnico The club 20 novembro 2008

Usando o evento OnFilterRecord para filtrar ClientDataSets

Usando o evento OnFilterRecord para filtrar ClientDataSets Usando o evento OnFilterRecord para filtrar ClientDataSets O objetivo mais importante no desenvolvimento de um programa é fornecer ao cliente maior liberdade para usar as interfaces e ao mesmo tempo tornar

Leia mais

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

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

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI CRIANDO UMA AUTENTICAÇÃO DE USUÁRIO UTILIZANDO O COMPONENTE QUERY A autenticação de usuários serve para

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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

Leia mais

Interface para Regras de Negócios em Multi-Banco

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

Leia mais

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

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

Leia mais

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

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

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO. Bruno Edgar Fuhr 1

METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO. Bruno Edgar Fuhr 1 METODOLOGIA DE GERENCIAMENTO DE PROJETOS SCRUM: ESTUDO DE REVISÃO Bruno Edgar Fuhr 1 Resumo: O atual mercado de sistemas informatizados exige das empresas de desenvolvimento, um produto que tenha ao mesmo

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO DELPHI - UTILIZANDO OPENDIALOG PARA ARMAZENAR IMAGENS EM BANCO DE DADOS Criaremos uma solução simples para criar

Leia mais

Introdução a Banco de Dados em Delphi

Introdução a Banco de Dados em Delphi Introdução a Banco de Dados em Delphi Daniela Caio André Gomes Roberto Scalco 2013 3 Sumário CAPÍTULO 1 ELEMENTOS DE UM BANCO DE DADOS... 4 1. O ARQUIVO DADOS... 4 2. CONCEITOS BÁSICOS DE BANCOS DE DADOS...

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

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

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

Leia mais

2008.1. A linguagem SQL

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

Leia mais

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM)

Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Programação Extrema Manifesto Ágil e as Metodologias Ágeis (XP e SCRUM) Prof. Mauro Lopes Programação Extrema Prof. Mauro Lopes 1-31 45 Manifesto Ágil Formação da Aliança Ágil Manifesto Ágil: Propósito

Leia mais

Projeto de Banco de Dados: Empresa X

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

Leia mais

Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto :

Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto : Podemos agora ver no IDE do Morfik os objetos que já incorporamos ao nosso projeto : O form Index A tabela Fotos A query Q_seleção_de_fotos Vide figura 46. Figura 46 O próximo passo é criar um form que

Leia mais

Fortes Report Parte 1 Desenvolvendo o Primeiro Relatório

Fortes Report Parte 1 Desenvolvendo o Primeiro Relatório Fortes Report Parte 1 1 Fortes Report Parte 1 Desenvolvendo o Primeiro Relatório Amigos, fazer relatórios é o famoso mal necessário, que particularmente eu não me incomodo em desenvolver, até porque, geralmente

Leia mais

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL 1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS FORMULÁRIOS COM ABAS Trabalhar com abas (ou guias) é um recurso

Leia mais

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

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

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

Manual Integra S_Line

Manual Integra S_Line 1 Introdução O é uma ferramenta que permite a transmissão Eletrônica de Resultado de Exames, possibilitando aos Prestadores de Serviços (Rede Credenciada), integrarem seus sistemas com os das Operadoras

Leia mais

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

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

Leia mais

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE

Scrum. Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE Scrum Introdução UFRPE-DEINFO BSI-FÁBRICA DE SOFTWARE scrum Ken Schwaber - Jeff Sutherland http://www.scrumalliance.org/ Scrum Uma forma ágil de gerenciar projetos. Uma abordagem baseada em equipes autoorganizadas.

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

C# - Conexão com MySQL

C# - Conexão com MySQL E S T A A P R E S E N T A Ç Ã O F O I E L A B O R A D A COMO M A T E R I A L DE A P O I O À A U L A DO P R O F E S S O R L E O L A R B A C K A O S A L U N O S DA E S C O L A T É C N I C A P O L I M I G.

Leia mais

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

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

Leia mais

Projeto Supermercado - Produtos

Projeto Supermercado - Produtos OBJETIVO: Este projeto possibilitará fazer a manutenção dos dados da tabela de Produtos. Didaticamente, ele permite ao programador iniciante ter os primeiros contatos com os objetos de visualização individual

Leia mais

Géssica Talita. Márcia Verônica. Prof.: Edmilson

Géssica Talita. Márcia Verônica. Prof.: Edmilson Géssica Talita Márcia Verônica Prof.: Edmilson DESENVOLVIMENTO ÁGIL Técnicas foram criadas com o foco de terminar os projetos de software rapidamente e de forma eficaz. Este tipo de técnica foi categorizada

Leia mais

Inserindo Dados no Banco de Dados Paradox.

Inserindo Dados no Banco de Dados Paradox. Inserindo Dados no Banco de Dados Paradox. - Construção do Banco de Dados: Para podermos inserir algo em um banco precisaremos de um Banco de Dados, para isto iremos montar um utilizando o Programa Database

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 02 AT02 Diversos I 1 Indice ESQUEMAS NO BANCO DE DADOS... 3 CRIANDO SCHEMA... 3 CRIANDO TABELA EM DETERMINADO ESQUEMA... 4 NOÇÕES BÁSICAS SOBRE CRIAÇÃO E MODIFICAÇÃO

Leia mais

Conhecendo o Visual FoxPro 8.0 Parte 1

Conhecendo o Visual FoxPro 8.0 Parte 1 AULA Conhecendo o Visual FoxPro 8.0 Parte 1 Em qualquer profissão é importante que se conheça bem as ferramentas que serão usadas para executar o trabalho proposto. No desenvolvimento de software não é

Leia mais

Utilizando os componentes da paleta DBExpress para acesso ao banco Firebird

Utilizando os componentes da paleta DBExpress para acesso ao banco Firebird Utilizando os componentes da paleta DBExpress para acesso ao banco Firebird Esta apostila destina-se aqueles que tem algum interesse em aprender a conectar-se com um banco Firebird. Caso você seja um iniciante

Leia mais

DESENVOLVIMENTO DE SOFTWARE

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

Leia mais

COMPONENTES DA BIBLIOTECA ZEOSLIB. Paleta Zeos Access no Lazarus. TZConnection

COMPONENTES DA BIBLIOTECA ZEOSLIB. Paleta Zeos Access no Lazarus. TZConnection COMPONENTES DA BIBLIOTECA ZEOSLIB Paleta Zeos Access no Lazarus TZConnection É o componente que estabelece a conexão com o banco de dados e possui a capacidade de manipular ou controlar transações. Todo

Leia mais

Uma vez no form, dê um clique duplo sobre o objeto e insira a tela conforme abaixo. Não esqueça do & e das teclas de atalho.

Uma vez no form, dê um clique duplo sobre o objeto e insira a tela conforme abaixo. Não esqueça do & e das teclas de atalho. Exercício 03 Construir um programa em Delphi com um menu, cadastrando informações de clientes de um banco, conforme tela abaixo. Para tal, inserir, na paleta Standard clicar em menu. Uma vez no form, dê

Leia mais

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br

Uma introdução ao SCRUM. Evandro João Agnes evandroagnes@yahoo.com.br Uma introdução ao SCRUM Evandro João Agnes evandroagnes@yahoo.com.br Agenda Projetos de Software O que é Scrum Scrum framework Estrutura do Scrum Sprints Ferramentas Projetos de software Chaos Report Standish

Leia mais

Coleção de Dicas sobre programação Delphi. Retiradas do E-Zine Grandes Dicas em Delphi

Coleção de Dicas sobre programação Delphi. Retiradas do E-Zine Grandes Dicas em Delphi Coleção de Dicas sobre programação Delphi. Retiradas do E-Zine Grandes Dicas em Delphi Por Ramos de Souza Janones www.ramosdainformatica.com.br 1 Índice 1 Índice... 2 Descobrindo o código ASCII de uma

Leia mais

Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes

Alexandre Lima Guilherme Melo Joeldson Costa Marcelo Guedes Instituto Federal do Rio Grande do Norte IFRN Graduação Tecnologia em Analise e Desenvolvimento de Sistema Disciplina: Processo de Desenvolvimento de Software Scrum Alexandre Lima Guilherme Melo Joeldson

Leia mais

Wesley Torres Galindo

Wesley Torres Galindo Qualidade, Processos e Gestão de Software Professores: Alexandre Vasconcelos e Hermano Moura Wesley Torres Galindo wesleygalindo@gmail.com User Story To Do Doing Done O que é? Como Surgiu? Estrutura Apresentar

Leia mais

Histórico de revisões

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

Leia mais

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

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

Leia mais

Treinamento sobre SQL

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

Leia mais

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS 1/38 DOCUMENTO DE REQUISITOS GED Gerenciamento Eletrônico de Documentos Versão 1.1 Identificação do Projeto CLIENTE: NOME DO CLIENTE TIPO DO SISTEMA OU PROJETO Participantes Função Email Abilio Patrocinador

Leia mais

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática Disciplina: INF5008 Prof.: (monalessa@inf.ufes.br) Conteúdo 8. Metodologias

Leia mais

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

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:

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades

Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Objetivos da Aula 1 Após completar este módulo você deverá ter absorvido o seguinte conhecimento: Uma ampla visão do framework Scrum e suas peculiaridades Entendimento sobre os processos essenciais do

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Introdução Transação Uma transação é uma unidade lógica de trabalho (processamento), formada por um conjunto de comando SQL, que tem por objetivo preservar a integridade e a consistência

Leia mais

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico Sistema Gerenciador de Conteúdo Dinâmico Atualizado em 24/08/2011 No final de 2007, o Serviço Técnico de Informática da UNESP Marília, disponibilizou para a comunidade acadêmica e administrativa o Sistema

Leia mais

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

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

Leia mais

SGCD 2.2. Sistema Gerenciador de Conteúdo Dinâmico

SGCD 2.2. Sistema Gerenciador de Conteúdo Dinâmico Atualizado em 13/AGO/2012 Sistema Gerenciador de Conteúdo Dinâmico No final de 2007, o Serviço Técnico de Informática da UNESP Marília, disponibilizou para a comunidade acadêmica e administrativa o Sistema

Leia mais

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

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

Leia mais

Capítulo 7. Antes de prosseguir com o Delphi, devemos criar o banco de dados Interbase ou Firebird com todas as suas propriedades.

Capítulo 7. Antes de prosseguir com o Delphi, devemos criar o banco de dados Interbase ou Firebird com todas as suas propriedades. 92 Delphi 7 Internet e Banco de Dados Capítulo 7 Projeto Cadastro de Clientes Neste capítulo iremos desenvolver um projeto completo de cadastro de clientes, com as principais funções: inclusão, alteração,

Leia mais

CRIANDO UM BANCO DE DADOS

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

Criando um carrinho de compras

Criando um carrinho de compras Criando um carrinho de compras Um carrinho de compras feito em ASP.NET para você adaptar ao seu negócio e incluir no seu site. Além de aprender conceitos importantes relacionados a tecnologia ASP.NET vai

Leia mais

2008.1 SQL. Autor: Renata Viegas

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

Leia mais

Metodologias Ágeis. Aécio Costa

Metodologias Ágeis. Aécio Costa Metodologias Ágeis Aécio Costa Metodologias Ágeis Problema: Processo de desenvolvimento de Software Imprevisível e complicado. Empírico: Aceita imprevisibilidade, porém tem mecanismos de ação corretiva.

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

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

Leia mais

DBDesigner 4. NomeFunc 1,N FUNCIONÁRIO. CargaHoraria. MatrFunc

DBDesigner 4. NomeFunc 1,N FUNCIONÁRIO. CargaHoraria. MatrFunc DBDesigner 4 O DBDesigner 4 é uma ferramenta CASE (Computer-Aided Software Engineering) voltada para a modelagem de dados dos sistemas. Para utilizá-lo é necessário, primeiramente, criar o Modelo Conceitual

Leia mais

Apostila Delphi V 1.0

Apostila Delphi V 1.0 Preço: R$ 5,00 Link de download: setup.exe Tipo da licença: demonstração Limitações: perrmite visualizar até a página 12. Exige cadastro on-line para solicitar chave de registro. 1 / 7 Apostila completa

Leia mais

SCRUM. É um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer projeto.

SCRUM. É um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer projeto. SCRUM SCRUM É um processo iterativo e incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer projeto. Ken Schwaber e Jeff Sutherland Transparência A transparência garante que

Leia mais

UMA ABORDAGEM PARA VIABILIZAR A ADERÊNCIA DA METODOLOGIA SCRUM AO MODELO MPS.BR NÍVEL G.

UMA ABORDAGEM PARA VIABILIZAR A ADERÊNCIA DA METODOLOGIA SCRUM AO MODELO MPS.BR NÍVEL G. UMA ABORDAGEM PARA VIABILIZAR A ADERÊNCIA DA METODOLOGIA SCRUM AO MODELO MPS.BR NÍVEL G. Magda A. Silvério Miyashiro 1, Maurício G. V. Ferreira 2, Bruna S. P. Martins 3, Fabio Nascimento 4, Rodrigo Dias

Leia mais

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

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

Leia mais

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

Programação para Android. Aula 08: Persistência de dados SQL

Programação para Android. Aula 08: Persistência de dados SQL Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente

Leia mais

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com Processo de Desenvolvimento de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Modelo Cascata (Waterfall) ou TOP DOWN. Modelo Iterativo. Metodologia Ágil.

Leia mais

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

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

Leia mais

CRIAÇÃO DE RELATÓRIOS EM DELPHI

CRIAÇÃO DE RELATÓRIOS EM DELPHI PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO CRIAÇÃO DE RELATÓRIOS EM DELPHI Relatórios são tão importantes quanto as consultas, com a vantagem de poder imprimir os valores armazenados nos Bancos

Leia mais

Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10

Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10 Tutorial de Computação Introdução a Programação Gráfica em Lazarus Para MEC 1100 v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212

Leia mais

Microsoft Visual Studio 2010 C# Volume II

Microsoft Visual Studio 2010 C# Volume II Microsoft Visual Studio 2010 C# Volume II Apostila desenvolvida pelos Professores Ricardo Santos de Jesus e Rovilson de Freitas, para as Disciplinas de Desenvolvimento de Software I e II, nas Etecs de

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

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

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

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

Gabarito - Programação C# com Visual Studio - Intermediário - 05/08/2013 AULA 01. 1 Perguntas e Respostas

Gabarito - Programação C# com Visual Studio - Intermediário - 05/08/2013 AULA 01. 1 Perguntas e Respostas Gabarito - Programação C# com Visual Studio - Intermediário - 05/08/2013 1 Perguntas e s AULA 01 1- A ferramenta responsável pelo auto incremento chama- se Identity. (Sim) 2- A ferramenta responsável pelo

Leia mais

Wesley Torres Galindo. wesleygalindo@gmail.com

Wesley Torres Galindo. wesleygalindo@gmail.com Wesley Torres Galindo wesleygalindo@gmail.com Wesley Galindo Graduação em Análise e Desenvolvimento de Sistemas Mestrado em Engenharia de Software Engenheiro de Software Professor Faculdade Escritor Osman

Leia mais

Parte 5 LibreOffice Base

Parte 5 LibreOffice Base Parte 5 LibreOffice Base 1. Criação do banco de dados 1. Abra o LibreOffice Base; 2. Escolha Criar um novo banco de dados e clique em Concluir; 3. Salve o banco de dados em alguma pasta do computador.

Leia mais

ADMINISTRAÇÃO DE BANCO DE DADOS

ADMINISTRAÇÃO DE BANCO DE DADOS ADMINISTRAÇÃO DE BANCO DE DADOS ARTEFATO 03 AT03 Diversos II Page 1 of 25 Indice EXEMPLOS COM GROUP BY E COM A CLÁUSULA HAVING - TOTALIZANDO DADOS... 3 GROUP BY... 3 Cláusula HAVING com GROUP BY... 5 ENTENDENDO

Leia mais

Excel 2010 Modulo II

Excel 2010 Modulo II Excel 2010 Modulo II Sumário Nomeando intervalos de células... 1 Classificação e filtro de dados... 3 Subtotais... 6 Validação e auditoria de dados... 8 Validação e auditoria de dados... 9 Cenários...

Leia mais

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário

Centro de Computação - Unicamp Gerência de Atendimento ao Cliente (e-mail:apoio@turing.unicamp.br) Sumário Sumário Conceitos Microsoft Access 97... 01 Inicialização do Access... 02 Convertendo um Banco de Dados... 03 Criando uma Tabela... 06 Estrutura da Tabela... 07 Propriedades do Campo... 08 Chave Primária...

Leia mais

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Editora Carlos A. J. Oliviero Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Orientado por Projeto 1a Edição 2 Reimpressão São Paulo 2011 Érica Ltda. Noções Livrarse Preparação muitas muita Sumário

Leia mais

PROJECT 1 Delphi Project (Extensão. DPR)

PROJECT 1 Delphi Project (Extensão. DPR) CAPÍTULO2 1. A ESTRUTURA DE UM APLICATIVO Quando iniciamos uma aplicação em Delphi ele interpreta que iremos desenvolver um projeto. Este gerencia um conjunto de recursos como Forms, Units, objetos, funções

Leia mais

Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert...

Conteúdo O que é?... 4 Histórico... 4 Onde Baixar?... 4 Diferença entre Firebird e o Interbase... 4 Como instalar?... 4 Instalando o Ibexpert... Apostila FIREBIRD 1 Firebird Equipe: BARBARA CAROLINE SOUZA DE OLIVEIRA Nº 04 GUILHERME ROBERTO PINTO DE SOUZA Nº 16 JOSÉ ROSA MARTINS NETO Nº 22 RAFAEL ALVES DE SOUSA Nº 36 WELLINGTON COSTA SANTOS OLIVEIRA

Leia mais

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

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

Leia mais

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx 1 Introdução O Conecta S_Line permite que o laboratório envie à Central S_Line os resultados de exames gerados pelo Sistema de Informação Laboratorial (LIS) em forma de arquivos digitais. Todo o processo

Leia mais

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS Na grande maioria dos sistemas, faz-se necessário utilizar informações que estão armazenadas em uma determinada

Leia mais

Comandos de Manipulação

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

Leia mais

Logado no OracleXE vamos acessar a opção:

Logado no OracleXE vamos acessar a opção: Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos

Leia mais

Gestão Ágil de Projetos e a certificação PMI-ACP

Gestão Ágil de Projetos e a certificação PMI-ACP Gestão Ágil de Projetos e a certificação PMI-ACP Apresentação Roberto Gil Espinha Mais de 15 anos de experiência em Projetos Bacharel em Administração de Empresas pela UNIVILLE Pós-Graduado em Gestão Empresarial

Leia mais

Criando uma aplicação Web em C# usando o NHibernate

Criando uma aplicação Web em C# usando o NHibernate Criando uma aplicação Web em C# usando o NHibernate Apresento neste artigo como criar uma aplicação web totalmente orientada a objetos usando o framework NHibernate e a linguagem C#. Nossa meta é construir

Leia mais

Tela Inicial: O Banco de Dados e seus objetos:

Tela Inicial: O Banco de Dados e seus objetos: Access 1 Tela Inicial: 2 ÁREA DE TRABALHO. Nosso primeiro passo consiste em criar o arquivo do Access (Banco de Dados), para isto utilizaremos o painel de tarefas clicando na opção Banco de Dados em Branco.

Leia mais

MANUAL DO ADMINISTRADOR DO MÓDULO

MANUAL DO ADMINISTRADOR DO MÓDULO MANUAL DO ADMINISTRADOR DO MÓDULO ÍNDICE Relatórios Dinâmicos... 3 Requisitos de Sistema... 4 Estrutura de Dados... 5 Operadores... 6 Tabelas... 7 Tabelas x Campos... 9 Temas... 13 Hierarquia Relacionamento...

Leia mais

Manual de uso do Gerente

Manual de uso do Gerente Manual de uso do Gerente Manual do Hypnobox: www.hypnobox.com.br/manual Índice Acessar o Hypnobox Endereço o www Login e Senha Tela Principal Perfil de acesso Editar Dados pessoais Fila de corretores Gerenciar

Leia mais

AMBIENTE WEB PARA GERÊNCIA DE PROCESSO DE SOFTWARE BASEADO NO SCRUM

AMBIENTE WEB PARA GERÊNCIA DE PROCESSO DE SOFTWARE BASEADO NO SCRUM AMBIENTE WEB PARA GERÊNCIA DE PROCESSO DE SOFTWARE BASEADO NO SCRUM Por: Jhony Alceu Pereira Orientador: Prof.: Everaldo Artur Grahl FURB Fundação Universidade Regional de Blumenau BCC Bacharelado em Ciência

Leia mais

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

Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql Universidade Federal de Mato Grosso-UFMT Sistemas de Informação Laboratório de Programação Visual Prof. Clóvis Júnior Front-End Uso da Linguagem Turbo Delphi para Acesso ao Banco de Dados Mysql Estrutura

Leia mais