LINQ. Guia de Bolso. Joseph Albahari e Ben Albahari. Rio de Janeiro. 2008

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

Download "LINQ. Guia de Bolso. Joseph Albahari e Ben Albahari. Rio de Janeiro. 2008"

Transcrição

1 LINQ Guia de Bolso

2

3 LINQ Guia de Bolso Joseph Albahari e Ben Albahari R Rio de Janeiro. 2008

4 LINQ GUIA DE BOLSO Do original LINQ Pocket Reference, Third Edition, Copyright 2008 da Editora Alta Books Ltda.Authorized translation from English language edition, entitled LINQ Pocket Reference, Third Edition, by Eric A. Meyer, published by 2008 by O Reilly Media, Inc.This translation is published and sold by permission of O Reilly Media, Inc, the owner of all rights to publish and sell the same. PORTUGUESE language edition published by Editora Alta Books, Copyright 2008 by Editora Alta Books. Todos os direitos reservados e protegidos pela Lei 5988 de 14/12/73. Nenhuma parte deste livro, sem autorização prévia por escrito da editora, poderá ser reproduzida ou transmitida sejam quais forem os meios empregados: eletrônico, mecânico, fotográfico, gravação ou quaisquer outros. Todo o esforço foi feito para fornecer a mais completa e adequada informação, contudo a editora e o(s) autor(es) não assumem responsabilidade pelos resultados e usos da informação fornecida. Recomendamos aos leitores testar a informação, bem como tomar todos os cuidados necessários (como o backup), antes da efetiva utilização. Este livro não contém CD-ROM, disquete ou qualquer outra mídia. Erratas e atualizações: Sempre nos esforçamos para entregar a você, leitor, um livro livre de erros técnicos ou de conteúdo; porém, nem sempre isso é conseguido, seja por motivo de alteração de software, interpretação ou mesmo quando alguns deslizes constam na versão original de alguns livros que traduzimos. Sendo assim, criamos em nosso site, a seção Erratas, onde relataremos, com a devida correção, qualquer erro encontrado em nossos livros. Avisos e Renúncia de Direitos: Este livro é vendido como está, sem garantia de qualquer tipo, seja expressa ou implícita. Marcas Registradas: Todos os termos mencionados e reconhecidos como Marca Registrada e/ou comercial são de responsabilidade de seus proprietários. A Editora informa não estar associada a nenhum produto e/ou fornecedor apresentado no livro. No decorrer da obra, imagens, nomes de produtos e fabricantes podem ter sido utilizados, e desde já a Editora informa que o uso é apenas ilustrativo e/ou educativo, não visando ao lucro, favorecimento ou desmerecimento do produto/ fabricante. Produção Editorial: Editora Alta Books Coordenação Editorial: Thalita Aragão Ramalho Tradução: Johannes Adachi Revisão: Elza Maria Ferreira Revisão Técnica: Alessandro Claudio da Silva Diagramação: Gabriela Antunes Impresso no Brasil O código de propriedade intelectual de 1º de Julho de 1992 proíbe expressamente o uso coletivo sem autorização dos detentores do direito autoral da obra, bem como a cópia ilegal do original. Esta prática generalizada nos estabelecimentos de ensino, provoca uma brutal baixa nas vendas dos livros a ponto de impossibilitar os autores de criarem novas obras. R Rua Viúva Cláudio, 291 Jacaré Rio de Janeiro RJ. CEP: Tel: / Fax:

5 Sumário Iniciando 1 Consultas Lambda 4 Encadeando Operadores de Consulta 4 Compondo Expressões Lambda 6 Ordenação natural 9 Outros Operadores 9 Consulta de compreensão 10 Variáveis de repetição 12 Sintaxe de consulta versus sintaxe SQL 13 Sintaxe de consulta versus sintaxe lambda 13 Consultas de sintaxes misturadas 14 Execução tardia 15 Reavaliação 16 Variáveis externas 17 Como execuções tardias funcionam 17 Cadeia de Decorators 19 Como consultas são executadas 20 Subconsultas 22 Subconsultas e Execução Tardia 25 Estratégias de Composição 25 Construção Progressiva de Consultas 25 A palavra-chave into 27 Empacotando consultas 28

6 Estratégias de Projeção 30 Inicializadores de objeto 30 Tipos Anônimos 30 A palavra-chave let 32 Consultas Interpretadas 33 Como Consultas Interpretadas Funcionam 35 AsEnumerable 38 LINQ para SQL 40 LINQ para Classes de Entidade SQL 40 DataContext 42 Geração Automática de Entidade 45 Associações 45 Execução tardia com LINQ para SQL 47 DataLoadOptions 48 Atualizações 50 Construindo Expressões de Consulta 52 Delegados Versus Árvores de Expressão 53 Árvores de Expressão 55 Visão Geral de Operadores de Consulta 59 Filtragem 62 Where 63 Pegar e ignorar 65 TakeWhile e SkipWhile 65 Distinct 66 Projetando 66 Select 67 SelectMany 72 Junção (Joining) 82 Join e GroupJoin 83 6 LINQ Guia de Bolso

7 Ordenando 92 OrderBy, OrderByDescending, ThenBy, ThenByDescending 92 Agrupamento 95 GroupBy 96 Operadores Set 100 Concat e Union 100 Intersect e Except 100 Métodos de Conversão 101 OfType e Cast 101 ToArray, ToList, ToDictionary e ToLookup 103 AsEnumerable e AsQueryable 104 Operadores de Elemento 104 First, Last e Single 105 ElementAt 106 DefaultIfEmpty 107 Métodos de Agregação 107 Count e LongCount 107 Min e Max 108 Sum e Average 109 Aggregate 110 Quantificadores 111 Contains e Any 111 All e SequenceEqual 112 Métodos de criação 112 Empty 112 Range e Repeat 113 LINQ para XML 113 Visão Geral da Arquitetura 114 Guia de Bolso LINQ 7

8 Visão Geral do X-DOM 115 Carregando e Analisando 117 Salvando e Serializando 118 Instanciando um X-DOM 118 Construção Funcional 119 Conteúdo Específico 120 Clonagem Automática Profunda 121 Navegando/Consultando um X-DOM 122 Navegação de Nó Filho 122 Navegação Paterna 126 Navegação de Nó Colega 127 Navegação de Atributo 128 Atualizando um X-DOM 128 Atualizações Simples de Value 128 Atualizando Nós Filhos e Atributos 129 Atualizando Através do Pai 130 Trabalhando com Valores 133 Configurando Valores 133 Pegando Valores 133 Valores e Nós de Conteúdos Misturados 135 Concatenação Automática XText 136 Documentos e Declarações 136 XDocument 136 Declarações XML 139 Nomes e Namespaces 140 Especificando Namespaces no X-DOM 142 O X-DOM e Namespaces Padrão 143 Prefixos LINQ Guia de Bolso

9 Projetando em um X-DOM 147 Eliminando Elementos Vazios 149 Serializando uma Projeção 150 Transformando um X-DOM 151 Índice Remissivo 153 Guia de Bolso LINQ 9

10 LINQ Guia de Bolso LINQ, ou Language Integrated Query (Linguagem Integrada de Consulta), permite você escrever consultas estruturadas seguras em torno de coleções locais de objetos e fontes remotas de dados. É uma nova função do C# 3.0 e.net Framework 3.5. O LINQ permite você consultar qualquer coleção executando IEnumerable<>, no meio de uma array, list, XML DOM, ou fonte remota de dados (como uma tabela no SQL Server). O LINQ oferece os benefícios de ambos os tipos de verificação de tempo de compilação e composição dinâmica de consultas. Os tipos fundamentais que dão suporte ao LINQ são definidos nos namespaces System.Linq e System.Linq.Expressions no assembly do System.Core. Nota Os exemplos deste livro espelham-se nos exemplos do Capítulo 8 a 10 do C# 3.0 in a Nutshell (O Reilly) e são pré-carregados em uma ferramenta interativa de consulta chamada LINQPad. Você pode baixar LINQPad pelo site Iniciando As unidades básicas de dados no LINQ são seqüências e elementos. Uma seqüência é qualquer objeto que executa a interface genérica IEnumerable. No exemplo seguinte, names é uma seqüência, e Tom, Dick e Harry são elementos: 10

11 string[] names = { Tom, Dick, Harry }; Chamamos uma seqüência como essa de seqüência local porque representa uma coleção local de objetos na memória. Um operador de consulta é um método que transforma uma seqüência. Um operador de consulta normal aceita uma seqüência de entrada e emite uma seqüência de saída transformada. Na classe Enumerable em System. Linq, há em torno de 40 operadores de consulta, todos executados como métodos estáticos de extensão, chamados operadores padrões de consulta. Nota O LINQ também dá suporte a seqüências que podem ser dinamicamente alimentadas de uma fonte remota de dados como o SQL Server. Estas seqüências adicionalmente executam a interface IQueryable<> e recebem suporte através de uma série de combinação de operadores padrões de consulta na classe Queryable. Para mais informação, veja a seção que está por vir Consultas Interpretadas. Uma consulta é uma expressão que transforma seqüências com operadores de consulta. A consulta mais simples engloba uma seqüência de entrada e um operador, Por exemplo, nós podemos aplicar o operador Where em um array simples para extrair aqueles cujo tamanho é de pelo menos quatro caracteres, como a seguir: string[] names = { Tom, Dick, Harry }; IEnumerable<string> filterednames = System.Linq.Enumerable.Where ( names, n => n.length >= 4); foreach (string n in filterednames) Console.Write (n + ); // Dick Harry Pelos operadores padrões de consulta serem executados como métodos de extensão, nós podemos chamar Where diretamente no names como pensado, ele era um método de instância: IEnumerable<string> filterednames = names.where (n => n.length >= 4); Guia de Bolso LINQ 11

12 Para isto compilar, você deve importar o namespace System.Linq. Aqui está um exemplo completo: using System; using System.Linq; class LinqDemo { static void Main() { string[] names = { Tom, Dick, Harry }; IEnumerable<string> filterednames = names.where (n => n.length >= 4); foreach (string name in filterednames) Console.Write (name + ); } } // RESULTADO: Dick Harry Nota Se você não está familiarizado com as expressões lambda C#, métodos de extensão ou tipagem implícita, visite com/cs3primer. Podemos diminuir mais ainda nossa consulta "tipando implicitamente" filterednames: var filterednames = names.where (n => n.length >= 4); A maioria dos operadores de consulta aceitam uma expressão lambda como um argumento. A expressão lambda ajuda a direcionar e dar forma à consulta. Em nosso exemplo, a expressão lambda é a seguinte: n => n.length >= 4 O argumento de entrada corresponde a um elemento de entrada. Neste caso, o argumento de entrada n representa cada nome no array e é do tipo string. O operador Where necessita que a expressão lambda retorne um valor bool, que na verdade, indica que o elemento deveria ser incluído na seqüência de saída. Iniciando 12

13 Neste livro, descrevemos estas consultas como consultas lambda. O C# também define uma sintaxe especial para escrever consultas, chamada sintaxe de compreensão de consultas. Aqui está a consulta anterior expressada em sintaxe de compreensão: IEnumerable<string> filterednames = from n in names where n.contains ( a ) select n; A sintaxe lambda e sintaxe de compreensão são complementares. Na seção seguinte, exploramos cada uma em detalhes. Consultas Lambda Consultas Lambda são as mais flexíveis e fundamentais. Nesta seção, nós descrevemos como encadear operadores para formar consultas mais complexas e introduzir vários novos operadores de consulta. Encadeando Operadores de Consulta Para construir consultas mais complexas, você adiciona operadores de consulta adicionais, criando uma cadeia. Por exemplo, a consulta a seguir extrai todas as strings contendo a letra a, as ordena pelo tamanho e converte os resultados para maiúsculas: string[] names = { Tom, Dick, Harry, Mary, Jay }; IEnumerable<string> query = names.where (n => n.contains ( a )).OrderBy (n => n.length).select (n => n.toupper()); foreach (string name in query) Console.Write (name + ); // RESULTADO: JAY MARY HARRY Where, OrderBy e Select são todos operadores padrões de consulta que separam os métodos de extensão na classe Enumerable. 13 LINQ Guia de Bolso

14 Já introduzimos o operador Where, que retira uma versão filtrada da seqüência de entrada. O operador OrderBy retira uma versão ordenada de sua seqüência de entrada, o método Select retorna uma seqüência onde cada elemento de entrada é transformado ou projetado com uma dada expressão lambda (n.toupper(), neste caso). Os dados fluem da esquerda pra direita através da cadeia de operadores, então o dado é primeiramente filtrado, então ordenado, e assim projetado. Nota Um operador de consulta nunca altera a seqüência de entrada, no lugar, ele retorna uma nova seqüência. Esta está em harmonia com o paradigma de programação funcional, de onde o LINQ foi inspirado. Aqui estão as assinaturas de cada desses métodos de extensão (com a assinatura OrderBy um pouco simplificada ): static IEnumerable<TSource> Where<TSource> ( this IEnumerable<TSource> source, Func<TSource,bool> predicate) static IEnumerable<TSource> OrderBy<TSource,TKey> ( this IEnumerable<TSource> source, Func<TSource,TKey> keyselector) static IEnumerable<TResult> Select<TSource,TResult> ( this IEnumerable<TSource> source, Func<TSource,TResult> selector) Quando operadores de consulta são encadeados como neste exemplo, a seqüência de saída de um operador é a seqüência de entrada do próximo. O resultado final se parece com uma linha de produção de esteira rolante, como ilustrado na Figura 1. Podemos construir a consulta idêntica progressivamente como a seguir: var filtered = names.where (n => n.contains ( a )); var sorted = filtered.orderby (n => n.length); var finalquery = sorted.select (n => n.toupper()); Consultas Lambda 14

15 n => n.contains ("a") n => n.length n => n.toupper() Tom Dick Harry Mary Jay Filter Sorter Projector.Where().OrderBy.Select JAY MARY HARRY Figura 1. Encadeando operadores de consulta O finalquery é idêntico em relação à composição query que construímos anteriormente, mais adiante, cada passo intermediário também engloba uma consulta valida que nós podemos executar: foreach (string name in filtered) Console.Write (name + ); // Harry Mary Jay Console.WriteLine(); foreach (string name in sorted) Console.Write (name + ); // Jay Mary Harry Console.WriteLine(); foreach (string name in finalquery) Console.Write (name + ); // JAY MARY HARRY Compondo Expressões Lambda Nos exemplos anteriores, alimentamos as seguintes expressões lambda ao operador Where: n => n.contains ( a ) // Tipo de entrada = string // Tipo de retorno = bool Nota Uma expressão retornando um valor bool é chamada de predicado. O propósito de uma expressão lambda depende de um operador de consulta especificado. Com o operador Where, ele indica se um elemento deveria ser incluído na seqüência de saída. Neste caso do Guia de Bolso LINQ 15

16 operador OrderBy. A expressão lambda mapeia cada elemento na seqüência de entrada para suas chaves de ordenação. Com o operador Select, a expressão lambda determina como cada elemento na seqüência de entrada é transformado antes de ser alimentado à seqüência de saída. Nota Uma expressão lambda em um operador de consulta sempre funciona em elementos individuais na seqüência de entrada não a seqüência como um todo. A expressão lambda que você fornece age como uma chamada de retorno (callback). O operador de consulta avalia sua expressão lambda sob demanda normalmente uma vez por elemento na seqüência de entrada. Expressões lambda permitem você alimentar sua própria lógica nos operadores de consulta. Isto faz com que os operadores de consulta sejam versáteis. Aqui está a aplicação completa de Enumerable.Where, manipulação de exceção ao lado: public static IEnumerable<TSource> Where<TSource> ( this IEnumerable<TSource> source, Func<TSource,bool> predicate) { foreach (TSource element in source) if (predicate (element)) yield return element; } Expressões lambda e assinaturas Func Os operadores padrões de consulta utilizam o delegados genéricos Func. O Func é uma família de delegados genéricos de propósito gerais no System.Linq, definidos com o seguinte propósito: Os argumentos de tipo em Func aparecem na mesma ordem que eles aparecem nas expressões lambda. Daí em diante, Func<TSource,bool> procura uma repetição na expressão lambda TSource=>bool um que aceita o argumento Consultas Lambda 16

17 TSource e retorna o valor bool. De forma similar, Func<TSource,TResult> procura uma repetição na expressão lambda TSource=>TResult. Aqui estão todas as definições de delegados Func (observe que o tipo de retorno é sempre o último argumento genérico): delegate TResult Func <T> (); delegate TResult Func <T, TResult> (T arg1); delegate TResult Func <T1, T2, TResult> (T1 arg1, T2 arg2); delegate TResult Func <T1, T2, T3, TResult> (T1 arg1, T2 arg2, T3 arg3); delegate TResult Func <T1, T2, T3, T4, TResult> (T1 arg1, T2 arg2, T3 arg3, T4 arg4); Expressões lambda e classificação de elemento Os operadores padrões de consulta utilizam os seguintes nomes de tipo genérico. Literatura de tipo genérico TSource TResult TKey Significado Tipo de elemento para a seqüência de entrada Tipo de elemento para a seqüência de saída se diferente de TSOurce Tipo de elemento para a chave utilizada na ordenação, agrupamento ou união TSource é determinado pela seqüência de entrada. TResult e TKey são deduzidos de sua expressão lambda. Por exemplo, considere a assinatura do operador de consulta Select: static IEnumerable<TResult> Select<TSource,TResult> ( this IEnumerable<TSource> source, Func<TSource,TResult> selector) Guia de Bolso LINQ 17

18 Func<TSource,TResult> procura uma coincidência na expressão lambda TSource=>TResult uma que mapeie um elemento de entrada a um elemento de saída. TSource e TResult são tipos diferentes, então a expressão lambda pode alterar o tipo de cada elemento. Mais adiante, a expressão lambda determina o tipo de seqüência de saída. A consulta a seguir utiliza o Select para transforma elementos do tipo string em elementos do tipo inteiro: string[] names = { Tom, Dick, Harry, Mary, Jay }; IEnumerable<int> query = names.select (n => n.length); foreach (int length in query) Console.Write (length); // O compilador deduz o tipo de TResult do valor de retorno da expressão lambda. Neste caso, TResult é deduzido para ser do tipo int. Ordenação natural A ordenação original de elementos com uma seqüência de saída é significante no LINQ. Alguns operadores de consulta, como Take, Skip e Reverse, contam com este comportamento. O operador Take dá a saída de primeiro "X" elementos, descartando o resto; o operador Skip ignora os primeiros "X" elementos, e dá a saída do resto; o operador Reverse inverte a ordem dos elementos na seqüência. Operadores como Where e Select preservam a ordenação original da seqüência de entrada. O LINQ preserva a ordenação dos elementos na seqüência de entrada sempre que possível. Outros operadores Nem todos os operadores de consulta retornam uma seqüência. O operador elemento extrai um elemento da seqüência de saída; exemplos são First, Last, Single e ElementAt: int[] numbers = { 10, 9, 8, 7, 6 }; int firstnumber = numbers.first(); // 10 int lastnumber = numbers.last(); // 6 int secondnumber = numbers.elementat (1); // 9 Consultas Lambda 18

19 Os operadores de agregação retornam um valor escalar, normalmente de tipo numérico: int count = numbers.count(); // 5; int min = numbers.min(); // 6; Os quantificadores retornam um valor bool: bool hasthenumbernine = numbers.contains (9); // verdadeiro bool hasmorethanzeroelements = numbers.any(); // verdadeiro bool hasanoddelement = numbers.any (n => n % 2 == 1); // verdadeiro Por esses operadores não retornarem uma coleção, você não pode chamar mais operadores em seus resultados. Em outras palavras, eles devem aparecer como o último operador em uma consulta (ou subconsulta). Alguns operadores de consulta aceitam duas seqüências de entrada. Exemplos como Concat, que anexa uma seqüência à outra, e Union, que faz a mesma coisa mas, com duplicatas removidas. Os operadores de junção também caem nessa categoria. Consulta de compreensão O C# proporciona um atalho sintático para escrever consulta LINQ, chamados sintaxe de compreensão de consulta, ou simplesmente sintaxe de consulta. Na seção anterior, escrevemos uma consulta para extrair strings contendo a letra a, ordenadas pelo tamanho, e convertidas para maiúsculas. Aqui está a mesma consulta em sintaxe de compreensão: string[] names = { Tom, Dick, Harry, Mary, Jay }; IEnumerable<string> query = from n in names where n.contains ( a ) // Elementos filtrados orderby n.length // Elementos ordenados select n.toupper(); // Projeta cada elemento foreach (string name in query) Console.Write (name + / ); // RESULTADO: JAY/MARY/HARRY/ Guia de Bolso LINQ 19

20 Uma consulta de compreensão sempre inicia com uma cláusula from e termina com cláusulas select ou group; A cláusula from declara uma variável de iteração (neste caso n), que você pode pensar como atravessar a coleção de entrada mais exatamente como foreach. Figure 2 ilustra a sintaxe completa. from identifier in enumerable-expr type-name orderby, expr ascending descending query continuation SelectMany orderbyclause where boolean-expr let identifier = expr select expr fromclause groupclause identifier into joinclause group expr by expr join inner identifier in inner expr on outer key equals inner key into identifier Figure 2. Sintaxe de Consulta de Compreensão O compilador processa a consulta de compreensão traduzindo-as para sintaxe lambda. Ele faz isso de uma forma levemente mecânica muito parecido como ele traduz declarações foreach em chamadas para GetEnumerator e MoveNext. Isto significa que qualquer coisa pode escrever em sintaxe de compreensão você também pode escrever em sintaxe lambda. O compilador traduz nosso exemplo de consulta da seguinte forma: Consulta de compreensão 20

Desenvolvendo relatórios com CRYSTAL REPORTS XI. Gildo C. Araújo

Desenvolvendo relatórios com CRYSTAL REPORTS XI. Gildo C. Araújo Desenvolvendo relatórios com CRYSTAL REPORTS XI Gildo C. Araújo I Desenvolvendo Relatórios com Crystal Reports XI Copyright 2006 da Editora Alta Books Ltda. Todos os direitos reservados e protegidos pela

Leia mais

Introdução. William Braga

Introdução. William Braga Introdução I William Braga II Introdução III William Braga Rio de Janeiro. 2007 IV - Copyright 2007 da Editora Alta Books Ltda. Todos os direitos reservados e protegidos pela Lei 5988 de 14/12/73. Nenhuma

Leia mais

a o SE RV I Ç o Soa 00_SOM.indd 1 14/01/2009 14:33:26

a o SE RV I Ç o Soa 00_SOM.indd 1 14/01/2009 14:33:26 MoDElaÇÃo orientada a o SE RV I Ç o Soa análise, DESIGN E arquitetura DE SERVIÇoS MICHaEl BEll 00_SOM.indd 1 14/01/2009 14:33:26 Modelação Orientada ao Serviço SOA Análise, Design e Arquitetura de Serviços

Leia mais

Tarefa Orientada 13 Agrupamento e sumário de dados

Tarefa Orientada 13 Agrupamento e sumário de dados Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os

Leia mais

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

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

Leia mais

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

Principais características

Principais características .Net Framework O que é.net? Proprietário da Microsoft Versão simplificada para Linux Versão compacta para dispositivos móveis Plataforma de desenvolvimento e execução Interface com usuário, conectividade

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados SQL-Consultas Comando SELECT Prof. Luiz Antônio Vivacqua C. Meyer (la.vivacqua@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1,

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

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

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

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

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Introdução ao SQL Avançado

Introdução ao SQL Avançado Introdução ao SQL Avançado Introdução as consultas, manipulação e a filtragem de dados com a linguagem SQL Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão

Leia mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

Leia mais

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

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

Leia mais

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta Bancos de dados XML Conceitos e linguagens de consulta Sidney Roberto de Sousa MC536 - Bancos de Dados: Teoria e prática Material base: W3Schools XPath and XQuery Tutorial http://www.w3schools.com/xpath/

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

Padrões JavaScript Stoyan Stefanov

Padrões JavaScript Stoyan Stefanov Padrões JavaScript Stoyan Stefanov Novatec Authorized Portuguese translation of the English edition of titled JavaScript Patterns, First Edition, ISBN: 978-0- 596-80675-0 2010, Stoyan Stefanov. This translation

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

Memória de aula Aulas 11 e 12

Memória de aula Aulas 11 e 12 Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aulas 11 e 12 1) Revisão a. Cláusula join (inner e outer) 2) Cláusula GROUP

Leia mais

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados SQL (Structured Querie Language) SQL é mais que uma linguagem de interrogação estruturada. Inclui características para a definição da estrutura de dados, para alterar os dados de uma base de dados, e para

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Informática para Gestão de Negócios Linguagem de Programação III. Prof. Me. Henrique Dezani dezani@fatecriopreto.edu.br. Agenda

Informática para Gestão de Negócios Linguagem de Programação III. Prof. Me. Henrique Dezani dezani@fatecriopreto.edu.br. Agenda Informática para Gestão de Negócios Linguagem de Programação III Prof. Me. Henrique Dezani dezani@fatecriopreto.edu.br Professor Apresentação Agenda Ementa, Objetivo, Conteúdo Programático, Bibliografia,

Leia mais

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

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

Leia mais

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

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

Leia mais

Desenvolvimento de Grandes Aplicações Web

Desenvolvimento de Grandes Aplicações Web Desenvolvimento de Grandes Aplicações Web Kyle Loudon Introdução de Nate Koechley Novatec Authorized Portuguese translation of the English edition of titled Developing Large Web Applications, First Edition,

Leia mais

Avisos e Renúncia de Direitos: Este livro é vendido como está, sem garantia de qualquer tipo, seja expressa ou implícita.

Avisos e Renúncia de Direitos: Este livro é vendido como está, sem garantia de qualquer tipo, seja expressa ou implícita. Catia V5 R18 Para iniciantes e especialistas Copyright 2008 da Editora Alta Books. Todos os direitos reservados e protegidos pela Lei 5988 de 14/12/73. Nenhuma parte deste livro, sem autorização prévia

Leia mais

Novatec Editora Ltda. [2014].

Novatec Editora Ltda. [2014]. Novatec Authorized Portuguese translation of the English edition of Just Hibernate, ISBN 9781449334376 2014 Madhusudhan Konda. This translation is published and sold by permission of O'Reilly Media, Inc.,

Leia mais

PARTE I A Linguagem C#

PARTE I A Linguagem C# PARTE I A Linguagem C# Capítulo 1, C# 3.0 e o.net 3.5 Capítulo 2, Iniciando: Hello World Capítulo 3, Fundamentos da Linguagem C# Capítulo 4, Classes e Objetos Capítulo 5, Herança e Polimorfismo Capítulo

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais

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

Banco de Dados Desmistificado. Andrew J. Oppel

Banco de Dados Desmistificado. Andrew J. Oppel Banco de Dados Desmistificado Andrew J. Oppel Banco de Dados Desmistificado Copyright 2004 da Editora Alta Books Ltda. Todos os direitos reservados e protegidos pela Lei 5988 de 14/12/73. Nenhuma parte

Leia mais

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003 Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,

Leia mais

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si. NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary

Leia mais

Programação SQL. INTRODUÇÃO II parte

Programação SQL. INTRODUÇÃO II parte Programação SQL INTRODUÇÃO II parte Programação SQL SELECT; INSERT; UPDATE; DELETE. Este conjunto de comandos faz parte da sublinguagem denominada por DML Data Manipulation Language (Linguagem de manipulação

Leia mais

Structured Query Language (SQL)

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

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

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

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade

Coleções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade Page 1 podem ser comparadas com arrays, visto que também apresentam a capacidade de armazenar referências para vários objetos. Entretanto, as coleções apresentam uma gama de funcionalidades bem maior do

Leia mais

SQL. Introdução. Por que SQL? Setenças Select-From-Where

SQL. Introdução. Por que SQL? Setenças Select-From-Where Introdução SQL Bancos de Dados I Altigran Soares da Silva IComp/UFAM 2013/02 Adaptado do Material do Professor Jeffrey Ullman Originalmente proposta para o System R desenvolvido nos laboratórios da IBM

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 12 Consultas JPQL Consultas JPQL Consultas em JPQL

Leia mais

Resumo Aplicação MVC Contoso University

Resumo Aplicação MVC Contoso University Resumo Aplicação MVC Contoso University Parte 1. New Project MVC4: ContosoUniversity Html.ActionLink(string linktext, string actionname, string controllername) Retorna MvcHtmlString, uma string com o código

Leia mais

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

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

Leia mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

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

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

Leia mais

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

PADI 2015/16. Aula 1 Introdução à Plataforma.NET PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

jquery Cookbook Comunidade de Desenvolvedores jquery

jquery Cookbook Comunidade de Desenvolvedores jquery jquery Cookbook Comunidade de Desenvolvedores jquery Novatec Authorized Portuguese translation of the English edition of titled jquery Cookbook ISBN 9780596159771 2009, Cody Lindley. This translation is

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Guia do Programador Joel Saade

Guia do Programador Joel Saade C# Guia do Programador Joel Saade Novatec Copyright 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial,

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003

Leia mais

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

Primeiro programa em Java (compilação e execução)

Primeiro programa em Java (compilação e execução) Universidade Federal do ABC Disciplina: Linguagens de Programação (BC-0501) Assunto: Primeiro programa em Java (compilação e execução) Primeiro programa em Java (compilação e execução) Introdução Este

Leia mais

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Seminário - C# DSO II Desenvolvimento de Sistemas Orientados a Objetos 2 Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Roteiro Breve Histórico Plataforma.NET Características da Linguagem Sintaxe Versões

Leia mais

SQL Structured Query Language

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

Leia mais

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL Objetivos Revisando a sintaxe SQL SELECT, UPDATE, INSERT, DELETE Manipulando expressões Funções matemáticas, etc Condições de Pesquisa Funções de Agregação

Leia mais

Introdução ao C# . Visão geral do.net Framework

Introdução ao C# . Visão geral do.net Framework Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas

Leia mais

NetBeans. Conhecendo um pouco da IDE

NetBeans. Conhecendo um pouco da IDE NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica

Leia mais

1.264 Aula 7. Introdução ao SQL

1.264 Aula 7. Introdução ao SQL 1.264 Aula 7 Introdução ao SQL Linguagem Estruturada de Consulta (SQL) Aula 7 SELECT, INSERT, DELETE, UPDATE Junções Aula 8 Subconsultas Visões (tabelas virtuais) Índices Transações Segurança Desempenho

Leia mais

Laboratório de Programação - Exercícios 12, 13 e 14

Laboratório de Programação - Exercícios 12, 13 e 14 Laboratório de Programação - Exercícios 12, 13 e 14 If, switch e funções João Araujo Ribeiro jaraujo@uerj.br Universidade do Estado do Rio de Janeiro Departamento de Engenharia de Sistemas e Computação

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

JavaScript. Guia do Programador. Maurício Samy Silva. Novatec

JavaScript. Guia do Programador. Maurício Samy Silva. Novatec JavaScript Guia do Programador Maurício Samy Silva Novatec Copyright Novatec Editora Ltda. 2010. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra,

Leia mais

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

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

Leia mais

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

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 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685

Leia mais

Jonathan Stark Brian Jepson

Jonathan Stark Brian Jepson Construindo Aplicativos Android com HTML, CSS e JavaScript Jonathan Stark Brian Jepson Novatec Authorized Portuguese translation of the English edition of titled Building Android Apps with HTML, CSS, and

Leia mais

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

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

Leia mais

Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes

Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes Modelagem e Implementação de Aquário de Peixes- por Jorge Fernandes - Página 1 Modelagem e Implementação (Incremental de um Software para Controle) de Aquário de Peixes Jorge Fernandes Natal, Agosto de

Leia mais

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações. Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 11 1) Cláusulas SELECT e FROM a. Apesar de ser a primeira, ela é a

Leia mais

SQL: Consultas, Programação, Gatilhos

SQL: Consultas, Programação, Gatilhos SQL: Consultas, Programação, Gatilhos Capítulo 5 1 Introdução O que é SQL? Structured Query Language Linguagem comercial de banco de dados mais utilizada no mercado. Origem Originalmente chamada de SEQUEL

Leia mais

SQL Comandos para Relatórios e Formulários. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Comandos para Relatórios e Formulários. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Comandos para Relatórios e Formulários Laboratório de Bases de Dados SELECT SELECT FROM [ WHERE predicado ] [ GROUP BY ]

Leia mais

SQL UMA ABORDAGEM INTERESSANTE

SQL UMA ABORDAGEM INTERESSANTE SQL é uma linguagem de consulta estruturada, do inglês Structured Query Language. É uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Keith Wood. Apresentação de Dave Methvin. Novatec

Keith Wood. Apresentação de Dave Methvin. Novatec Keith Wood Apresentação de Dave Methvin Novatec Original English language edition published by Manning Publications Co., Sound View CT.#3B, Greenwich, CT 06830 USA. Copyright 2013 by Manning Publications.

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

Manual de SQL. Tutorial Utilizar SQL em 4D Comandos SQL Regras de sintaxe Transações Funções Anexos Lista alfabética dos comandos

Manual de SQL. Tutorial Utilizar SQL em 4D Comandos SQL Regras de sintaxe Transações Funções Anexos Lista alfabética dos comandos Manual de SQL Tutorial Utilizar SQL em 4D Comandos SQL Regras de sintaxe Transações Funções Anexos Lista alfabética dos comandos Tutorial Introdução Receber o resultado de um pedido SQL em uma variável

Leia mais

Manual de SQL. Tutorial Utilizar SQL em 4D Comandos SQL Regras de sintaxe Transações Funções Anexos Lista alfabética dos comandos

Manual de SQL. Tutorial Utilizar SQL em 4D Comandos SQL Regras de sintaxe Transações Funções Anexos Lista alfabética dos comandos Manual de SQL Tutorial Utilizar SQL em 4D Comandos SQL Regras de sintaxe Transações Funções Anexos Lista alfabética dos comandos Tutorial Introdução Receber o resultado de um pedido SQL em uma variável

Leia mais

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento

Leia mais

PDF Explicado John Whitington

PDF Explicado John Whitington PDF Explicado John Whitington Novatec Authorized Portuguese translation of the English edition of titled PDF Explained, First Edition ISBN 9781449310028 2012 John Whitington. This translation is published

Leia mais

Introdução à Linguagem

Introdução à Linguagem Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin jjscremin@jjscremin.t5.com.br Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados. PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases

Leia mais

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada Revisão de tpicos anteriores BANCO DE DADOS Linguagem de consulta SQL Roberto Duarte Fontes Brasília - DF roberto@fontes.pro.br Projeto de banco de dados Modelagem Conceitual (independe da implementação)

Leia mais

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

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

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

SQL: Uma Linguagem de Consulta

SQL: Uma Linguagem de Consulta SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse

Leia mais

SQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento)

SQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento) SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php)

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Clínica Todos os exemplos apresentados utilizam o SGBD Postgre - open source Documentação: http://www.postgresql.org/docs (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Ambulatorios(numero, andar,

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

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

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

Leia mais

Lição 9 Trabalhando com bibliotecas de classes

Lição 9 Trabalhando com bibliotecas de classes Lição 9 Trabalhando com bibliotecas de classes Introdução à Programação I 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Explicar o que é programação orientada a objetos e alguns de seus

Leia mais