Índice. 39 MySQL. 42 PostgreSQL. 48 JDataStore. SQL News Novas tecnologias, atualizações, lançamentos de produtos,eventos e livros.

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

Download "Índice. 39 MySQL. 42 PostgreSQL. 48 JDataStore. SQL News Novas tecnologias, atualizações, lançamentos de produtos,eventos e livros."

Transcrição

1

2 ANUNCIO

3 Índice 06 SQL News Novas tecnologias, atualizações, lançamentos de produtos,eventos e livros. 08 Guia Rápido da SQL Explorando os princupais recursos do comando SELECT. 12 Otimização de comandos SQL Conceitos e diretrizes para aumento da performance na execução de comandos SQL. 18 Modelagem de dados com ErWin Uma introdução aos recursos e utilização desta ferramenta. 22 Introdução a UML Defi nição, implementação e utilizção de um modelo usando UML 26 Conctando Front-Ends Exemplos práticos para o acesso a banco de dados com diversas ferramentas. 34 Emacs SQL Utilizando o Emacs para acesso e manutenção de bancos de dados. 39 MySQL Instalação, overview dos recursos e utlilização do MySQL no linux. 42 PostgreSQL Uma análise dos recursos do postgre e vantagens de sua distribuição nacional. 44 Replicação de dados Teoria e prática envolvendo replicação de dados no SQL Server. 48 JDataStore Conhecendo o banco de dados e uma entrevista com Sergio Cardoso. SQL Magazine - 3

4 E D I T O R I A L Coordenador Editorial Gladstone Matos Editor Geral Gustavo Viegas Equipe Editorial Cristina Viegas Edgar Silva Fábio Faldini Gisele Nichols Pedro Henrique dos Santos Acessora de Imprensa Kaline Dolabela Contribuíram nesta edição Clementino Leal, Cleison Santos, Everson Ramos, Edgar Silva, Fábio Faldini, Gustavo Viegas, Gisele Nichols, Gladstone Matos, Paulo Ribeiro, Pedro Henrique Editor de Arte Vinicius O. Andrade Capa Mauro Lassance Gerente Geral Rosângela Matos Publicidade Julio César Lopes Jornalista Resposável Sérgio Moraes C. Brandão MTb: Impressão Ediouro Gráfica e Editora S/A Atendimento ao Leitor Assinaturas Colaboração de Artigos Na Web Distribuição Fernando Chinaglia Dist. S/A Rua Teodoro da Silva, 907 Grajaú - RJ - CEP: Atualmente, na medida em que as tecnologias de banco de dados e ferramentas para desenvolvimento de aplicações vem evoluindo, temos um abismo cada vez maior entre o profissional de informática e as áreas de conhecimento fora de sua especialização. Questiono: Até onde deve ir o conhecimento do profissional de tecnologia da informação? Será que a especialização total é o melhor caminho? Seja técnico, desenvolvedor ou analista, a questão é quanto de sua área ele precisa saber para implementar, analisar, projetar e interagir num processo de desenvolvimento e manutenção de uma aplicação? Será que podemos afirmar que um desenvolvedor deve ter somente conhecimentos profundos de uma determinada ferramenta de desenvolvimento e, no caso de uma aplicação que acesse um banco de dados, não ter a mínima noção deste banco? Ou ainda: um DBA que tem a responsabilidade de instalar, configurar, dimensionar, criar os objetos de um modelo, garantir uma boa performance, entre outras, não faria suas tarefas de modo mais consciente sabendo um pouco sobre como os dados serão acessados e manipulados? Podemos citar ainda aqueles que participam das definições de um projeto, lá no estágio embrionário do sistema. Para estes, o conhecimento do banco de dados, das tecnologias e ferramentas utilizadas para desenvolvimento, afetariam na definição do projeto a ponto de facilitar sua implementação e futura manutenção? Como disse, o abismo que separa o conhecimento entre cada profissional de informática tem se mostrado crescente, e isso, de certa forma, não é bom. A SQL Magazine chega até você com o objetivo de trazer informações sobre o mundo dos bancos de dados, tecnologias e ferramentas de desenvolvimento. Temos uma árdua tarefa diante dos leitores: diminuir o abismo citado, através da publicação de artigos de base, fomentando o conhecimento daqueles que ainda não lidam com o assunto, artigos técnicos, para os que já utilizam algum tipo de SGBD e artigos avançados, voltados para DBA s. Além de novidades, previews, cursos e dicas. Espero que você encontre na SQL Magazine informações para o seu crescimento profissional, tomada de decisão, auxílio na solução de problemas, base para definição de projetos independente do seu papel nos mesmos e acima de tudo: uma fonte de consultas e mais consultas. Boa leitura. Gustavo Viegas Editor 4 - Magazine SQL

5 ANUNCIO SQL Magazine - 5

6 Usando UML Com.NET Através do Rational XDE ( extended Development Environment ) Professional v2002 você pode ter na IDE do Visual Studio o ambiente nescessário para analisar, implementar e documentar suas soluções baseadas no.net FrameWork utilizando UML. Esta integração é extremamente útil para implementação de sistemas complexo utilizando C#. O XDE suporta os principais diagramas UML, possibilita a utilização de vários Design Patterns além de facilitar a implementação de Design Patterns próprios. Consulte <http://www. rational.com> para um overview do produto. SQL News Application Server da Oracle oferece business intelligence incorporado Integrado ao servidor de aplicação, o Oracle9i Application Server proporciona todo o middleware necessário para uma eficiente comunicação de dados em e-business. Com um único produto é possível executar diversas aplicações (Java, portal, integração de aplicativos, wireless e outras). Foram efetuadas customizações que otimizam o processo de configuração de backup e recovery, gerenciamento automático de backups e logs arquivados, backups e restaurações reiniciáveis e restauração/recuperação de teste. O SQL e o PL/SQL receberam outras melhorias no Oracle9iAS. Foi adicionada depuração no lado servidor para múltiplas linguagens, permitindo que os ambientes de desenvolvimento integrado (IDEs) depurem tanto Java quanto PL/SQL dentro da mesma estrutura. Mais informações em Cresce a competição entre os bancos de dados da IBM, Microsoft, e Oracle Enquanto a Microsoft fala de futuras implementações no SQL Server, a Big Blue disponibiliza a versão DB2 8.1 UDB. Nesta última versão, a IBM está tentando tornar o seu banco de dados mais fácil de ser utilizado, distribuído, e administrado. Implementações que aumentam a performance na execução de queryes e capacidades autônomas estão entre as novidades do DB A Microsoft anunciou a versão 64-bit do SQL Server (Beta) e espera conquistar maior confiança dos usuários de banco de dados. A Oracle, por sua vez, utilizou a OracleWorld User Conference em San Francisco para mostrar detalhes do seu novo banco de dados, chamado até então de 10i e previsto para lançamento em meados de Apesar do nome final do produto não estar definido, a Oracle falou oficialmente que a nova versão terá seu foco no gerenciamento, aumento da capacidade, e novo suporte para XML e Web services. Computador que se conserta sozinho A IBM está desenvolvendo sistemas que se consertam sozinhos e necessitam de menos intervenção humana. Para isso, criou a divisão Autonomic Computing, cuja meta é fazer com que os computadores sejam autônomos de maneira semelhante ao comportamento do sistema nervoso humano, que permite adaptar-se às mudanças à sua volta, a defender-se de ataques externos e a recuperar-se de falhas internas. As capacidades autônomas estarão incluídas inclusive no banco de dados DB2. A idéia é permitir que os computadores dêem conselhos sobre seu melhor rendimento e, então, permitir que esses sistemas executem os conselhos sem o aval dos técnicos. Oracle9i nas eleições Mais de 185 milhões de votos foram processados no primeiro e segundo turnos das eleições pelo Tribunal Superior Eleitoral. Em menos de 24 horas, os brasileiros já sabiam o resultado dos 91 milhões de votos apurados na primeira fase. Para realizar tal feito, o TSE utilizou o banco de dados Oracle9i. O sistema, desenvolvido em parceria do TSE com a Oracle, é o mais avançado no segmento. Os dados de todos os Tribunais Regionais Eleitorais, correspondentes aos votos para deputados estaduais e federais, senadores e governadores, são totalizados e somados aos do TSE, que é responsável pela centralização e contagem dos votos para presidente da República. Esse processo permitiu a divulgação imediata dos resultados nos telões de apuração e na Internet.

7 Backups seguros e contínuos A Storageteck, fornecedora de soluções de armazenamento de dados, está colocando no mercado as fitotecas robotizadas L20, L40 e L80, que permitem que os backups sejam feitos continuamente, 24 horas por dia. O produto foi desenvolvido para pequenas e médias empresas cujas plataformas rodam em ambientes NT, Novell, Linux ou Unix. Focados no mercado entry level, as bibliotecas de backup destinam-se a redes com necessidades de armazenamento a partir de 400 GB. Na prática, os produtos da Série L são disponíveis nas versões 2, 4 ou 8 drives, com capacidades de 110 GB a 220 GB cada. IBM DB2 UDB 8.1 para Linux (Beta) A IBM se orgulha do seu compromentimento com o Linux. Desde o seu portal Linux até a campanha Paz, Amor, e Linux que foi grafitada nas ruas de cidades americanas no ano passado, a companhia tem deixado claro que pretende ser vista na linha de frente do desenvolvimento para este sistema. A versão 8.1 (Beta) do DB2 UDB esta disponível para download no site da Big Blue (www.ibm. com/db2/) e a IBM recomenda no mínimo 128Mb de memória e de 250Mb a 350Mb disponíveis em disco para instalação e utilização de um banco de dados de tamanho médio. Uma novidade está no db2setup utility, um utilitário com aparência e operação semelhante a de muitos programas para Windows. Informações adicionais e uma análise do produto estão disponíveis no endereço Microsoft SQL Server comemora seu 10 º Aniversário A Microsoft Corp. anunciou no dia 20 de novembro o 10º aniversário do Microsoft(R) SQL Server (TM) na Associação de Profissionais de SQL Server (PASS) em Seattle, num grande evento exclusivamente dedicado ao banco. No keynote de abertura, Gordon Mangione, vice presidente corporativo do SQL Server na Microsoft, falou do passado e das futuras implementações no SQL Server como motivos para os muitos clientes e parceiros continuarem a desenvolver utilizando a plataforma Microsoft SQL Server. Com base nas inovações do produto, Mangione anunciou a disponibilização do SQL Server 2000 (64-bit) Beta 2 e do Microsoft SQL Server 2000 Service Pack 3 (SP3) Beta 1. Ele encorajou aos desenvolvedores a utilizarem ambas as versões Beta disponíveis e reforçou o objetivo da Microsoft de desenvolver um conjunto de ferramentas que garantam um alto nível de performance, gerenciamento e escalabilidade. ANUNCIO Oracle 9i - O Manual do DBA Autor: Kevin Loney Editora Campus páginas. R$ 159 Pertencente à série Oracle Press, cujos livros são guias oficiais da Oracle produzidos por especialistas da própria empresa, este livro oferece uma cobertura completa dos recursos mais recentes e as maneiras de incorporar esses recursos no gerenciamento de um banco de dados Oracle. Com este livro, o leitor aprenderá a implementar as soluções administrativas de especialistas, a manter os seus importantes sistemas da Internet e de comércio eletrônico flexíveis, seguros e disponíveis - tudo com informações exclusivas autorizadas pela Oracle. Este guia abrange todos os pontos importantes sobre Oracle 9i, fornecendo exemplos e técnicas reais. Alguns tópicos: SQL Magazine - 7

8 Guia rápido da SQL por Gladstone Matos Alinguagem SQL é sucinta e ao mesmo tempo poderosa. Através de um idioma de fácil entendimento, a SQL permitiu a padronização na forma de comunicar os aplicativos front-ends com os diversos bancos de dados disponíveis. Neste artigo veremos os principais parâmetros do comando SELECT, a principal forma de recuperar dados através da SQL. COMANDO SELECT A SQL foi criada com o objetivo de padronizar os comandos de manipulação de dados em SGBD s. Hoje em dia, apesar da linguagem possuir uma quantidade considerável de extensões e implementações proprietárias, pode-se afirmar que a meta foi alcançada. A maior parte do código SQL escrito nas aplicações se encontra no formato puro, conhecido como ANSI. O sucesso da SQL trouxe uma produtividade interessante para a manipulação de banco de dados. Conhecendo bem a linguagem é possível acessar os recursos básicos de qualquer banco relacional, como Oracle, SQL Server ou MySQL, sem praticamente nenhuma mudança. Veremos neste artigo um pequeno guia de referência para os parâmetros do comando SELECT, um dos mais importantes da linguagem SQL. SELECT Simples O comando SELECT permite recuperar os dados de um objeto do banco, como uma tabela, uma view e, em alguns casos, uma stored procedure (alguns bancos de dados permitem a criação de procedimentos que retornam valor). A sintaxe mais básica do comando é: SELECT <LISTA_DE_CAMPOS> FROM <NOME_DA_TABELA> Exemplo: SELECT CODIGO, NOME FROM CLIENTES; SELECT * FROM CLIENTES; O caracter * representa todos os campos. Apesar de prática, esta máscara não é muito utilizada, pois, para o SGBD, é mais rápido receber o comando com todos os campos explicitados. O uso do * obriga o servidor a consultar quais são os campos antes de efetuar a busca dos dados, criando mais um passo no processo. COMANDO WHERE A cláusula Where permite ao comando SQL passar condições de filtragem, Veja o exemplo: SELECT CODIGO, NOME FROM CLIENTES WHERE CODIGO = 10; SELECT CODIGO, NOME FROM CLIENTES WHERE UF = RJ SELECT CODIGO, NOME FROM CLIENTES WHERE CODIGO >= 100 AND CODIGO <=500; SELECT CODIGO, NOME FROM CLIENTES WHERE UF= MG OR UF = SP

9 Guia Rápido da SQL Os parênteses, corretamente utilizados, dão mais poder a consulta: SELECT CODIGO, NOME FROM CLIENTES WHERE UF = RJ OR (UF= SP AND ATIVO= N ); Neste comando, todos os clientes do Rio de Janeiro e apenas os clientes inativos de São Paulo seriam capturados. SELECT CODIGO, NOME FROM CLIENTES WHERE (ENDERECO IS NULL) OR (CIDADE IS NULL) Aqui todos os clientes que não possuem endereco ou cidade cadastrados serão selecionados. FILTRO DE TEXTO SELECT CODIGO, NOME FROM FUNCIONARIO WHERE DEPARTAMENTO= VENDAS ; SELECT CODIGO FROM CLIENTES WHERE NOME > K ; Para busca parcial de strings, o SELECT fornece o operador LIKE: SELECT CODIGO, NOME FROM CLIENTES WHERE NOME LIKE MARIA* ; Neste comando, todos os clientes cujo nome iniciam com Maria serão retornados. Se quisermos retornar os nomes que contenham MARIA também no meio, podemos alterar para: SELECT CODIGO, NOME FROM CLIENTES WHERE NOME LIKE *MARIA* O uso da máscara no início e no fim da string fornece maior poder de busca, mas causa considerável perda de performance. Este recurso deve ser utilizado com critério. Nota: Em alguns bancos de dados a máscara de fitro não é representada pelo caracter *. Consulte a referência do banco utilizado para verificar o caracter correto. Por padrão, a SQL diferencia caixa baixa de caixa alta. Para eliminar essa diferença, utilize a função UPPER: SELECT CODIGO, NOME FROM CLIENTES WHERE UPPER(NOME) LIKE MARIA*SILVA* ORDENAÇÃO A ordenação pode ser definida com o comando ORDER BY. Assim como no comando WHERE, o campo de ordenação não precisa estar listado como campo de visualização: SELECT CODIGO, NOME FROM CLIENTES ORDER BY NOME SELECT CODIGO, NOME FROM CLIENTES ORDER BY UF, NOME A inclusão da palavra DESC garante a ordenação invertida: SELECT CODIGO, NOME FROM CLIENTES ORDER BY NOME DESC SELECT CODIGO, NOME FROM CLIENTES ORDER BY UF DESC, NOME JUNÇÃO DE TABELAS O SELECT permite juntar duas ou mais tabelas no mesmo resultado. Isso pode ser feito de várias formas: SELECT CLIENTES.CODIGO, CLIENTES.NOME, PEDIDOS.DATA, PEDIDOS.VALOR FROM CLIENTES, PEDIDOS WHERE CLIENTES.CODIGO = PEDIDOS.CODCLIENTE Nesta linha as tabelas relacionadas CLIENTES e PEDIDOS são unificada através do campo chave, em uma operação de igualdade. Repare que o nome dos campos passam a ser prefixados pelo nome das tabelas, resolvendo duplicidades. Uma versão resumida desta comando pode ser: SELECT A.CODIGO, A.NOME, B.DATA, B.VALOR FROM CLIENTES A, PEDIDOS B WHERE A.CODIGO = B.CODCLIENTE O uso de aliases no código SQL torna a manutenção mais simples. No comando abaixo temos várias tabelas unificadas em uma mesma cláusula: SELECT A.CODIGO, A.NOME, B.DATA, B.VALOR, C.QTD, D.DESCRICAO FROM CLIENTES A, PEDIDOS B, ITENS C, PRODUTOS D WHERE A.CODIGO = B.CODCLIENTE AND B.CODIGO = C.CODPEDIDO AND C.CODPRODUTO = D.CODIGO Neste comando unificamos as tabelas relacionadas CLIENTES, PEDIDOS, ITENS e PRODUTOS. Veja mais alguns exemplos: SELECT A.CODIGO, A.NOME, B.DATA, B.VALOR FROM CLIENTES A, PEDIDOS B WHERE A.CODIGO = B.CODCLIENTE AND A.UF= RJ SELECT A.CODIGO, A.NOME, B.DATA, B.VALOR FROM CLIENTES A, PEDIDOS B WHERE A.CODIGO = B.CODCLIENTE AND UF = RJ OR (UF= SP AND ATIVO= N ); SELECT A.CODIGO, A.NOME, B.DATA, B.VALOR FROM CLIENTES A, PEDIDOS B WHERE A.CODIGO = B.CODCLIENTE ORDER BY A.UF, A.NOME Observe que a junção através da igualdade de campos traz como resultado somente os registros que possuem referência nas duas tabelas. Observe o comando abaixo: SELECT A.CODIGO, A.DESCRICAO, B.DESCRICAO FROM PRODUTOS A, COMPONENTES B WHERE A.CODIGO = B.CODPRODUTO Os produtos que não possuem componentes não são selecionados. Caso seja necessário criar uma listagem incluindo também os registros que não possuem correspondência, deve-se utilizar o comando JOIN. COMANDO JOIN A junção de tabelas no comando SELECT também pode ser feita com o comando JOIN. Este comando deve ser utilizado com a palavra reservada INNER ou com a palavra OUTER: INNER - Semelhante ao uso do operador = na junção de tabelas. Aqui, os registros sem correspondências não são incluídos. Esta cláusula é opcional e pode ser omitida no comando JOIN. OUTER Os registros que não se relacionam também são exibidos. Neste caso, é possível definir qual tabela será incluída na seleção, mesmo não tendo correspondência. Para exemplificar, temos as tabelas abaixo: Produtos Código Descrição Categoria 1 Martelo 1 2 Chave de Fenda 1 3 Alicate 2 4 Desmagnetizador 2 5 Parafuso <null> Componentes Código Cod.Produto Descrição Qtd 1 3 Adaptador CF CaboMod A CaboMod A2 1 Código Categoria 1 Ferramenta A1 2 Ferramenta B1 3 Ferramenta C1 4 Ferramenta D1 Descrição Observe os exemplos e o resultado produzido: SELECT A.CODIGO, A.DESCRICAO, B.DESCRICAO, B.QTD FROM PRODUTOS A INNER JOIN COMPONENTES B ON (A.CODIGO = B.CODPRODUTO) SQL Magazine - 9

10 Resultado 1 Cód Descrição Descrição Qtd 1 Alicate Adaptador CF 1 2 Desmagnetizador CaboMod A1 2 3 Desmagnetizador CaboMod A2 1 Este comando pode ser escrito na versão resumida abaixo: SELECT A.CODIGO, A.DESCRICAO, B.DESCRICAO FROM PRODUTOS A JOIN COMPONENTES B ON (A.CODIGO = B.CODPRODUTO) Como mostrado no resultado, os produtos que não possuem componentes não são incluídos na seleção. SELECT A.CODIGO, A.DESCRICAO, B.DESCRICAO, B.QTD FROM PRODUTOS A LEFT OUTER JOIN COMPONENTES B ON (A.CODIGO = B.CODPRODUTO) Resultado 2 Cód Descrição Descrição Qtd 1 Martelo 1 2 Chave de Fenda 2 3 Alicate Adaptador CF 1 4 Desmagnetizador CaboMod A1 4 Desmagnetizador CaboMod B2 5 Parafuso Neste comando todos os produtos serão incluídos na seleção, independente de possuirem um componente. Observe que a palavra LEFT se refere a primeira tabela no relacionamento. O mesmo comando poderia ser descrito na forma: SELECT A.CODIGO, A.DESCRICAO, B.DESCRICAO FROM COMPONENTES A RIGHT OUTER JOIN PRODUTOS B ON ( A.CODIGO = B.CODPRODUTO ) A ordem das tabelas foi invertida, mas o resultado é o mesmo. Observe mais alguns exemplos: SELECT A.CODIGO, A.DESCRICAO, B.DESCRICAO, B.QTD FROM PRODUTOS A JOIN COMPONENTES B ON ( A.CODIGO = B.CODPRODUTO ) WHERE A.CATEGORIA=1 Resultado 3 Cód Descrição Descrição Qtd <vazio> <vazio> <vazio> <vazio> SELECT A.CODIGO, A.DESCRICAO, B.DESCRICAO FROM PRODUTOS A JOIN COMPONENTES B ON (A.CODIGO = B.CODPRODUTO ) WHERE A.CATEGORIA=1 OR A.CATEGORIA=2 ORDER BY A.CATEGORIA, A.DESCRICAO 10 - Magazine SQL Resultado 4 Cód Descrição Descrição Qtd 3 Alicate Adaptador CF 1 4 Desmagnetizador CaboMod A1 2 4 Desmagnetizador CaboMod A2 1 FULL OUTER JOIN Podemos ainda combinar o uso de INNER e OUTER através do comando FULL OUTER JOIN. Neste caso, todos os registros das duas tabelas envolvidas serão exibidos, tendo ou não relacionamento. Observe: SELECT A.CODIGO, A.DESCRICAO, B.DESCRICAO FROM PRODUTOS A FULL OUTER JOIN CATEGORIA B ON ( A.CATEGORIA = B.CODIGO ) ORDER BY A.DESCRICAO Produtos Código Descrição Categoria 1 Martelo Ferramenta A1 2 Chave de Fenda Ferramenta A1 3 Alicate Ferramenta B1 4 Desmagnetizador Ferramenta B1 5 Parafuso Ferramenta C1 Ferramenta D1 UNION Existe ainda uma Segunda forma de juntar tabelas com o comando SELECT. Através do parâmetro UNION, é possível colar o conteúdo de duas tabelas. Veja o exemplo: SELECT CODIGO, NOME FROM CLIENTES UNION SELECT CODIGO, NOME FROM FUNCIONARIOS O resultado deste comando é a listagem de todos os clientes e a listagem dos funcionários, dentro do mesmo result set. Repare que no comando JOIN a união é horizontal e no UNION a união é vertical. Por default, os registros duplicados são eliminados na cláusula UNION. No exemplo anterior, se tivéssemos um cliente com mesmo nome e código de um funcionário, apenas o registro da primeira tabela seria exibido. Para incluir todos os registros, independente de duplicidade, utilize a palavra ALL: SELECT CODIGO, NOME FROM CLIENTES UNION ALL SELECT CODIGO, NOME FROM FUNCIONARIOS FUNÇÕES DE AGRUPAMENTO São cinco as funções básicas de agrupamento: AVG: Retorna a média do campo especificado: SELECT AVG(VALOR) FROM PEDIDOS; MIN/MAX/SUM: Respectivamente, retorna o menor valor, o maior e o somatório de um grupo de registros: SELECT MIN(VALOR) FROM PEDIDOS; SELECT MAX(VALOR) FROM PEDIDOS; SELECT AVG(VALOR) FROM PEDIDOS; COUNT: Retorna a quantidade de itens da seleção: SELECT COUNT(CODIGO) FROM CLIENTES; AGRUPAMENTO Um poderoso recurso do comando SELECT é o parâmetro GROUP BY. Através dele podemos retornar informações agrupadas de um conjunto de registros, estabelecendo uma condição de agrupamento. É um recurso muito utilizado na confecção de relatórios. Para exemplificar, temos as tabelas CLIENTES e PEDIDOS: Código Clientes 1 Gustavo Viegas Nome 2 Vinicius Andrade 3 Rosangela Mattos Pedidos Código CodCliente Data Valor /10/ /10/ /10/ /01/ /10/ /10/ SELECT CODCLIENTE, MAX(VALOR) FROM PEDIDOS GROUP BY CODCLIENTE O comando acima retorna o maior valor de pedido de cada cliente. Observe o resultado: CodCliente Resultado 6 MAX (Valor)

11 Guia Rápido da SQL SELECT CODCLIENTE, COUNT(*) FROM PEDIDOS GROUP BY CODCLIENTE Aqui vemos quantos pedidos foram feitos por cada cliente. Veja o resultado: CodCliente Resultado 7 COUNT(*) HAVING Através do comando HAVING podemos filtrar a cláusula GROUP BY. Observe o comando abaixo: SELECT CODCLIENTE, COUNT(*) FROM PEDIDOS GROUP BY CODCLIENTE HAVING COUNT(*) >= 2 CodCliente Resultado 8 COUNT(*) Somente os clientes com 2 ou mais pedidos serão selecionados. Repare que o HAVING é utilizado, geralmente, com alguma função de agrupamento. Para filtros normais, pode-se utilizar o comando WHERE. Observe o exemplo abaixo: SELECT CODCLIENTE, COUNT(*) FROM PEDIDOS WHERE DATA > 06/10/2002 GROUP BY CODCLIENTE HAVING COUNT(*) >= 2 CodCliente Resultado 9 COUNT(*) 3 2 Repare que o cliente número 3 apresentou apenas dois pedidos, visto que o primeiro não possui data maior que 6/10. NOTA A formatação no uso de campos do tipo DATE pode sofrer alterações de acordo com o banco utilizado. Consulte o manual de referência do mesmo para maiores detalhes. Conclusão O uso correto do comando SELECT fornece uma poderosa interface de filtro. Utilizando sempre a sintaxe padrão, o desenvolvedor conta com maior independência de plataforma, pois o SQL ANSI é compreendido pelos principais bancos de dados. Existem ainda funções especiais e funções de conversão, que serão abordados em futuras edições da SQL Magazine. Para maior eficiência no uso do SELECT, é desejável também o bom planejamentos dos índices do banco. Para maiores informações a respeito do uso de índices, leia a matéria de Everson Ramos, publicada nesta edição. Espero que este artigo introdutório sirva de consulta em seus projetos! websites ClubeDelphi SQLAutor Gladstone Matos é coordenador das revistas ClubeDelphi, Java Magazine e SQL Magazine.. Pode ser contactado através do ANUNCIO SQL Magazine - 11

12 Otimização de comandos SQL por Everson Volaco M esmo um aplicativo bem projetado poderá experimentar problemas de desempenho se a frase SQL que usa for mal construída. Falhas no projeto do aplicativo e na construção do SQL causam a maioria dos problemas de desempenho em bancos de dados projetados adequadamente. Veremos neste artigo como melhorar o comando SQL, para garantir maior performance em sua execução, tendo como base o ORACLE. A forma como o banco de dados se organiza para responder a requisição de um aplicativo é diretamente influenciada pela maneira como a frase SQL é construída. Existem vários pontos a serem observados nesta construção. O caminho mais curto é o uso de índices para auxiliar a pesquisa mas, é importante observar, a simples criação de um índice nem sempre é o melhor caminho para otimização de comandos SQL. Alguns conceitos importantes Antes de partir para como e quais as melhores formas de se aplicar e se escrever comandos SQL é importante relembrarmos alguns conceitos importantes. Existem dois métodos básicos utilizados pelos SGDB s para localizar dados, também conhecidos como caminhos de acesso. São eles: -Full Table Scan: Leitura seqüencial, bloco por bloco, de toda a tabela. Neste método, são verificados registro a registro os critérios de seleção. -Index Search: Procura de um índice sobre a coluna definida no critério de seleção, identificando a localização dos registros qualificados. O ORACLE possui seu próprio mecanismo de otimização, chamado A simples criação de índices nem sempre é o melhor caminho para otimização de comandos SQL otimizador, para executar comandos SQL e dinamicamente determinar que caminho de acesso seguir, dependendo das informações disponíveis. O melhor caminho de acesso é, geralmente, o uso de índices, mas isso nem sempre é verdadeiro. Por exemplo, se existir uma forma de identificar diretamente um registro pelo seu endereço físico, a resposta será mais rápida. (neste caso estamos falando do rowid, endereço físico do registro em uma tabela ORACLE). Ex.: SELECT rowid INTO :emp_rowid FROM EMP WHERE emp.empno = 5353 FOR UPDATE OF emp.ename; UPDATE emp SET emp.ename = OTIMIZADOR WHERE rowid = :emp_rowid;

13 Otimização de Comandos SQL Excluindo registros duplicados: DELETE FROM emp e WHERE e.rowid > (SELECT MIN(x.rowid) FROM emp x WHERE x.empno = e.empno); Algumas informações para auxiliar o acesso do otimizador: Verificar nas colunas dentro da cláusula WHERE: - Que colunas são índices; - Que colunas estão definidas como NOT NULL; - Que índices podem ser usados. É possível ajudar o otimizador a procurar o melhor caminho de acesso através da criação de índices e clusters, o que será considerado a partir de agora. Regras de Utilização de Índices Um índice será usado se : - o índice existir; - a coluna índice for referenciada na cláusula WHERE; Um índice pode ser usado para testes de: - Igualdade: SELECT e.empno, e.ename FROM emp e WHERE e.job = CLERK ; - Intervalo ilimitado: SELECT e.empno, e.ename FROM emp e WHERE e.job > CLERK ; - Intervalo limitado: SELECT e.empno, e.ename FROM emp e WHERE e.job BETWEEN CLERK AND JONES ; A criação de índices deve ser feita com critério. A atualização (inserts, updates e deletes) em tabelas de dados gera uma ação equivalente nos índices, sendo que o tempo de atualização dos índices é superior ao de atualização da tabelas, pois além da colocação do registro em seqüência dentro do índice é necessário a atualização dos ramos das árvores do índice. Considerando os detalhes acima, índices devem ser criados somente quando necessário, pois a sua simples existência não implica em melhoria de performance, podendo muitas vezes ser a origem de perda de performance. Condições de não utilização de Índices 1) Funções ou Operadores Aritméticos Se a coluna índice for modificada por uma função ou por operadores aritméticos (+,-,*,/), o índice não será utilizado. Um índice sobre SAL ou ENAME não será utilizado nos seguintes casos: SELECT e.ename, e.empno FROM emp e WHERE e.sal*12 = 2400; SELECT e.ename, e.empno FROM emp e WHERE SUBSTR(e.ename,1,3) = JON Nos casos acima, as seguintes modificações permitem o uso de índice: SELECT e.ename, e.empno FROM emp e WHERE e.sal = 2400/12 SELECT e.ename, e.empno FROM emp e WHERE e.ename LIKE JON% 2) Conversão de Dados A conversão de dados pode inibir a utilização do índice da coluna em questão se usado inadvertidamente. Na seguinte sentença, um índice sobre a coluna HIREDATE não será usado: SELECT e.ename, e.empno FROM emp e WHERE TO_CHAR(e.hiredate, month dd,yyyy ) = january 23,1982 Esta mesma sentença SQL, modificada, usará o índice como segue: SELECT e.ename, e.empno FROM emp e WHERE e.hiredate = to_date( january 23,1982, mounth dd,yyyy ) Se na cláusula WHERE os predicativos utilizam dados de tipos diferentes, o ORACLE automaticamente converte um deles sem a preocupação sobre a melhor escolha para a utilização dos índices. A conversão por default é escolhida, pelo caso mais comum (Ex.: O valor de uma coluna, onde o tipo é number, rowid ou date, comparado com uma constante de tipo char). Em qualquer caso é muito recomendado o controle da conversão dos dados de maneira explícita. 3) Caso de colunas com valores NULL Os índices não contêm referência para valores do tipo null. Isto quer dizer que os valores null podem ser recuperados somente através de uma leitura seqüencial completa da tabela (Full Table Scan). No comando abaixo o índice sobre a coluna COMM não será utilizado: SELECT e.ename, e.empno FROM emp e WHERE e.comm is null Neste código o otimizador considera que a maioria dos registros dentro da tabela são valores not null e irá escolher a leitura seqüencial (Full Table Scan): SELECT e.ename, empno FROM emp e WHERE e.comm > = 100 Se a maioria dos registros contiver valores não nulos, a cláusula comm is not null será mais rápida. A velocidade de execução dependerá dos dados da tabela. Se a maioria dos registros contiver valores não nulos, a cláusula comm is not null será mais rápida. Os índices concatenados não terão referência para os registros onde todas as colunas que o compõem tiverem valores nulos. 4) Caso de predicados com a condição NOT EQUAL Os índices sobre colunas referenciadas pela condição not equal não serão usadas. O otimizador considera que o número de registros que irão satisfazer a condição será maior do que os registros que não a satisfazem. O índice sobre DEPTNO não será usado na seguinte sentença SQL: SELECT e.ename, e.empno FROM emp e WHERE e.deptno!=10 No comando abaixo, o índice sobre deptno será utilizado: SELECT e.ename, e.empno FROM emp e WHERE not e.deptno > 20 O ORACLE executará a sentença SQL como e.deptno <= 20 5) Casos de sentenças SQL com cláusula ORDER BY A cláusula ORDER BY aumenta consideravelmente a necessidade de recursos para execução de uma sentença SQL. Em geral, tabelas temporárias serão necessárias para operação de sort. É possível evitar a utilização de tabelas temporárias se um índice sobre a coluna alvo do order by existir. As seguintes condições devem ser cumpridas: - A coluna order by deve ser definida com not null; - A coluna order by deve ser uma simples coluna índice ou as primeiras colunas de índice concatenado; - A cláusula order by deve conter somente colunas e não expressões; - Não deve haver qualquer cláusula group by, distinct ou for update; - Não deve haver nenhum outro aces- SQL Magazine - 13

14 so alternativo que seja prioritário sobre o índice da coluna order by; A seguinte sentença SQL será executada via índice em DNAME se os requisitos mencionados acima forem respeitados: SELECT d.dname FROM dept d order by d.dname; SELECT d.dname, d.deptno FROM dept d WHERE d.loc = dallas order by d.dname; SELECT d.dname, d.loc FROM dept d WHERE d.dname!= accouting order by d.dname; Na sentença abaixo, se um índice sobre a coluna LOC existir, tornar-se-á prioritário e o índice sobre dname não será usado: SELECT d.dname, d.deptno FROM dept d WHERE d.loc = dallas order by d.dname; 6) Casos de sentenças SQL contendo funções MAX ou `MIN Um índice será usado para executar uma sentença SQL com MAX ou MIN se as seguintes condições forem satisfeitas: - MAX ou MIN devem ser apenas expressões da lista de seleção; - A lista de seleção não deve ter qualquer outro operador de concatenação ou adição a não ser somente MAX ou MIN; - A lista de seleção não deve conter qualquer outra coluna a não ser uma simples ocorrência da coluna como agrupamento de MAX ou MIN; - A sentença SQL não pode ser um JOIN; - A cláusula WHERE e group by não podem ser utilizadas; - A coluna alvo do MAX ou MAX deve ser indexada ou fazer parte das primeiras colunas de um índice concatenado. A seguinte sentença SQL utilizará um índice sobre a coluna SAL: SELECT (max(e.sal)*2) FROM emp e; 7) Sentenças SQL recuperam informações sobre uma simples tabela Uma sentença SQL pode ter vários índices únicos e/ou não únicos à disposição do otimizador. A escolha do índice a ser usado depende da presença de: - Índices únicos e não únicos: os índices 14 - Magazine SQL únicos serão favorecidos sobre os índices não únicos. - Vários índices não únicos : os registros identificados pelo caminho de acesso do índice condutor (o primeiro nome na sentença SQL) serão unidos com aquele identificado por outro índice. A meta é identificar os registros pertencentes a todos os índices. Se o otimizador não tiver clara escolha concernente a qual índice usar, então irá arbitrariamente escolher o primeiro mencionado dentro da sentença SQL como índice condutor (Driving Index). 8) Caso de sentença SQL com interseção de vários predicados de igualdade dentro da cláusula WHERE com índice não único. O índice não único será sorteado pela coluna rowid a fim de minimizar o número de comparações necessárias. Se nós temos índice não único sobre JOB e DEPTNO: É possível ajudar o otimizador a procurar o melhor caminho de acesso através da criação de índices e clusters SELECT e.ename FROM emp e WHERE e.job = manager and e.deptno = 20; a. Procura a primeira ou próxima referência do índice sobre job (driving index) contendo manager. b. Procura a primeira ou a próxima referência do índice deptno contendo valor 20. Compara as duas rowid. - Se as duas forem iguais, registro encontrado. Vai a próxima referência de a. e compara com a próxima referência de b.. - Se forem diferentes guarda a referência de a. e passa a próxima referência de b.. - c. Continua a procura até que não existam mais referências sobre o índice de job (driving index). 9) Caso de sentença SQL com interseção de um predicado de igualdade com um predicado sem limite, dentro da cláusula WHERE com índice não único. Somente o índice sobre a igualdade será usado. No exemplo que segue, se índices não únicos existirem sobre as colunas JOB e DEPTNO, o índice sobre JOB será utilizado, os registros correspondentes serão recuperados e verificada a validade do segundo predicado. SELECT e.ename FROM emp e WHERE e.job = manager and e.deptno > 10 10) Caso de índice Concatenado Índices concatenados são índices formados por várias colunas representados como se fosse simplesmente uma única coluna. a) Interseção de vários predicados de igualdade. Se um índice concatenado existir sobre DEPTNO e JOB, somente uma referência será necessária para localizar a rowid correspondente : SELECT e.ename FROM emp e WHERE e.job = manager and e.deptno = 10 b) Interseção de predicados sem limite com predicados de igualdade. Se um índice concatenado existir sobre DEPTNO e JOB, será utilizado para executar a seguinte sentença SQL : SELECT e.ename FROM emp e WHERE e.job = manager and e.deptno > 10 c) Interseção de predicado sem limite. Se um índice concatenado existir sobre DEPTNO e JOB, será utilizado para executar a seguinte sentença SQL: SELECT e.ename FROM emp e WHERE e.job > manager and e.deptno > 10 d) Utilização parcial ou total dos índices concatenados. O otimizador pode somente usar a ou as primeira(s) parte(s) do índice concatenado. No seguinte caso, um índice concatenado foi criado sobre as colunas EMP- NO, ENAME e DEPTNO: A seguinte sentença SQL usa plenamente o índice concatenado: SELECT * FROM emp e WHERE e.empno = 7369 AND e.ename = smith and e.depnto = 20 SELECT * FROM emp e WHERE e.ename = smith AND e.empno = 7369 AND e.deptno = 20 As seguintes sentenças SQL utilizam parcialmente o índice concatenado:

15 Otimização de Comandos SQL Uso parcial do índice usando somente EMPNO e ENAME: SELECT * FROM emp e WHERE e.empno = 7369 and e.ename = smith Uso parcial do índice usando somente EMPNO e ENAME : SELECT*FROM emp e WHERE e.empno = 7369 and e.deptno = 20 As seguintes sentenças SQL não usam o índice : SELECT * FROM emp e WHERE e.ename = smith and e.deptno = 20 SELECT * FROM emp e WHERE e.ename = smith SELECT * FROM emp e WHERE e.deptno = 20 11) Casos de Índice único e não único na mesma sentença SQL. O otimizador favorecerá a utilização do índice único. No seguinte caso o índice não único existe em SAL e um índice único em EMPNO : SELECT e.ename FROM emp e WHERE e.sal = 3000 and e.empno = 7902 O índice único será usado para procurar a rowid correspondente ao empno = Nos registros recuperados serão verificados o valor de sal. 12) Caso de vários índices na mesma sentença SQL. Se vários índices únicos estão disponíveis, o otimizador irá escolher o primeiro mencionado na sentença SQL. Por exemplo, se índices únicos existirem sobre ENAME e EMPNO, e um índice não único existir sobre SAL, a seguinte sentença SQL será executada sobre o índice ENAME SELECT e.deptno FROM emp e WHERE e.sal = 3000 and e.ename = scott and e.empno = 7602 Otimização da cláusula OR (União de predicados) O caminho de acesso é determinado como se a cláusula OR e suas ramificações estivessem ausentes. O caminho é determinado considerando cada ramificação da cláusula OR separadamente. Exemplo A Índice existente sobre SAL e JOB. SELECT e.ename FROM emp e WHERE e.deptno = 10 AND (e.sal = 3000 or e.job = clerk ) Neste caso, o caminho de acesso identificado por 2 é melhor que o identificado por 1, então a cláusula OR é otimizada para utilização dos índices. 1)Para DEPTNO = 10 - Pesquisa seqüencial na tabela; 2) Para SAL = Índice não único sobre SAL; Para JOB = clerk - Índice não único sobre JOB; Exemplo B Somente índice sobre SAL utilizando a mesma sentença do exemplo Os dois caminhos de acesso identificado por 2 não são melhores que o identificado por 1, então os índices não serão utilizados e ocorrerá uma pesquisa seqüencial na tabela. O otimizador na Cláusula OR exige a presença dos índices utilizáveis dentro de cada coluna referenciada dentro da cláusula OR. Verificando o Caminho de Acesso do otimizador Podemos verificar o caminho de acesso utilizado pelo SGDB para executar uma determinada frase SQL. Chamaremos esse caminho de Acesso de Plano de Execução. No plano de execução são verificados todos os procedimentos feitos pelo SGDB, como utilização ou não de índices, clusters, rowid, além da verificação da quantidade de passos realizados pelo banco para execução do comando. Este procedimento é muito útil, pois pode ser utilizado como recurso para verificarmos se as alterações efetuadas em um comando realmente otimizam a execução do mesmo. A verificação do plano de execução é feita no Oracle através do comando EXPLAIN PLAN. A sintaxe do comando é a seguinte: EXPLAIN PLAN SET STATEMENT_ID = COMAND_ID INTO OUTPUT FOR COMANDOSQL; Onde: Análise Análise 1)Para DEPTNO = 10 - Pesquisa seqüencial na tabela; 2) Para SAL = Índice não único sobre SAL; Para JOB = clerk - Pesquisa sequencial na tabela. - COMAND_ID é um String identifica- dor para posterior visualização do plano de execução. - OUTPUT é tabela onde o plano de execução é gerado. O usuário que executar o EXPLAIN PLAN deve ter direitos de INSERT sobre a mesma. O comando para criação desta tabela émostrado da listagem1. O Script para criação desta tabela chama-se UTLXPLAN.SQL e é instalado juntamente com oracle e a sua localização depende da versão do banco. - COMANDOSQL é o comando a ser analisado. Para verificação do plano de execução gerado pelo EXPLAIN PLAN devemos consultar a tabela informada no comando. Este procedimento pode ser efetuado de várias maneiras, uma delas é a que segue: SELECT SUBSTR(LPAD(,2*(LEVEL-1)) operation,1,50) operation, options, object_name, position FROM OUTPUT START WITH id = 0 AND statement_id = COMAND_ID CONNECT BY PRIOR id = parent_id AND statement_id = COMAND_ID ; Onde, - COMAND_ID é um String identificador do plano de execução informado no EXPLAIN PLAN Listagem 1. create table NOME_DA_TABELA ( statement_id varchar2(30), timestamp date, remarks varchar2(80), operation varchar2(30), options varchar2(30), object_node varchar2(128), object_owner varchar2(30), object_name varchar2(30), object_instance numeric, object_type varchar2(30), optimizer varchar2(255), search_columns number, id numeric, parent_id numeric, position numeric, cost numeric, cardinality numeric, bytes numeric, other_tag varchar2(255), partition_start varchar2(255), partition_stop varchar2(255), partition_id numeric, other long, distribution varchar2(30)); SQL Magazine - 15

16 - OUTPUT é tabela onde o plano de execução é gerado. Vamos exemplificar a execução do EXPLAIN PLAIN validando a seguinte informação: Um índice é utilizado se ele existir e se a coluna que faz parte deste índice estiver contida na clausula WHERE do comando SQL. Este mesmo índice não é utilizado se existirem funções de conversão de dados envolvendo esta coluna. Em outras palavras: a execução do comando SELECT * FROM EMP WHERE EMPNO = 50 utilizará o índice da chave primária, que contém a coluna EMPNO, e a execução do comando SELECT * FROM EMP WHERE TO_CHAR(EMPNO) = 50, não utilizará o índice. Utilizaremos o comando do quadro em destaque acima para criação da tabela que receberá o plano de execução, com o nome de PLAN_TABLE. Em seguida executaremos o EXPLAIN PLAN para verificação da utilização do índice com o seguinte comando: EXPLAIN PLAN SET STATEMENT_ID = SQLMagazine Com Indice INTO PLAN_TABLE FOR SELECT * FROM EMP WHERE EMPNO = 50; A verificação do plano de execução é feita de seguinte forma: SELECT SUBSTR(LPAD(,2*(LEVEL-1)) operation,1,50) operation, options, object_name, position FROM PLAN_TABLE START WITH id = 0 AND statement_id = SQLMagazine Com Indice CONNECT BY PRIOR id = parent_id AND statement_id = SQLMagazine Com Indice ; O resultado com o plano de execução é mostrado na Tabela 2. Analisando este resultado comprovamos que o índice referente a chave primária foi utilizado. Vamos verificar agora o mesmo comando alterado: EXPLAIN PLAN SET STATEMENT_ID = SQLMagazine Sem Indice INTO PLAN_TABLE FOR SELECT * FROM EMP WHERE TO_CHAR(EMPNO) = 50 ; A verificação do plano de execução é feita de seguinte forma: SELECT SUBSTR(LPAD(,2*(LEVEL-1)) operation,1,50) operation, options, object_name, position FROM PLAN_TABLE START WITH id = 0 AND statement_id = SQLMagazine Sem Indice CONNECT BY PRIOR id = parent_id AND statement_id = SQLMagazine Sem Indice ; Este resultado mostra que a utilização do índice foi anulada pela função aplicada OPERATION OPTONS OBJECT_NAME select statement table access by index rowid emp index unique scan pk_emp OPERATION OPTONS OBJECT_NAME select statement table access full emp a coluna. Conclusão Os cuidados a serem tomados com o acesso a dados da aplicação são parte importante de um projeto. A forma como as consultas são escritas e como o banco de dados está projetado influencia diretamente na performance do produto. Esses fatores não devem andar separados. Na maioria dos casos é necessária a perfeita integração entre a consulta escrita e o estado do banco de dados. Muitas vezes uma simples arrumação na consulta, trocando algumas cláusulas ou mudando um pouco a lógica das condicionais, garante um ganho na velocidade de execução e resposta da mesma. Não esqueça nunca de analisar se o índice a ser criado é realmente necessário, para não adicionar um mais um processo para o seu banco. Boa sorte e bons projetos! ANUNCIO 16 - Magazine SQL

17 Otimização de Comandos SQL ANUNCIO SQL Magazine - 17

18 Modelagem de dados com SQL por Cleison Santos Coloca-se como de fundamental importância tanto a análise como a modelagem de dados para o processo de desenvolvimento de aplicações. Esses procedimentos garantem um maior controle das diversas etapas do projeto desde a de nição das regras do negócio até a implementação e manutenção da aplicação como um todo. Existem no mercado, atualmente, diversas ferramentas para modelagem de dados, dentre as quais pode ser destacado o software ErWin. O ErWin pode ser usado de uma forma simples e prática possibilitando uma melhor visualização, controle e documentação do que se tem no banco de dados. Através dos diversos recursos disponíveis (Figura 1) podemos desenhar o nosso banco de dados definindo as entidades de que compõe o modelo com seus respectivos atributos e relacionamentos, definir características dessas entidades tornandoas reais em um modelo físico ou em vários modelos físicos se for necessário o acesso a SGDB s distintos. Podemos ainda criar, de forma automática, o modelo implementado num banco de dados ou gerar scripts Figura 1. Tela inicial do ErWin para atualização de alterações efetuadas no modelo, sincronizar dois bancos de forma a garantir uma estrutura idêntica em ambos, e vários outros recursos. Na parte superior direita, observa-se uma barra de ferramentas com os principais objetos do ErWin, como mostrado na Figura 2, a seguir: Alguns conceitos importantes 1) Entidades - Entidade é o local onde ficam armazenadas as informações. Por exemplo, a Entidade CLIENTES pode guardar informações referentes aos clientes, e assim sucessivamente. 2) Subtipos - Podem ser definidos como um espelho de uma ou mais entidades. Por exemplo, pode-se criar um subtipo chamado CLIENTES_RJ que contenha somente os clientes que moram no Rio de Janeiro, podendo ter ou não todos os

19 Modelagem de Dados com ErWin Entidades Figura 2. Barra de ferramenta do ErWin Criar subtipos de entidades existentes Inserir textos no modelo, como comentário de entidades, relacionamentos e outros Relacionamento de cardinalidade um para muitos Relacionamento de cardinalidade muitos para muitos Relacionamento de cardinalidade um para um Auxilio para mudar os atributos de posição ou de entidades atributos da Entidade CLIENTES. 3) Atributos - Os atributos podem ser definidos como identificadores de cada informação contida na entidade. O Código do Cliente, por exemplo, é um atributo da Entidade CLIENTES. 4) Relacionamentos - Relacionamentos são definidos como a ligação entre duas ou mais entidades. 5) Cardinalidade - É o que caracteriza o relacionamento.por exemplo: um pai pode ter mais de um filho, porém um filho só pode ter apenas um pai. Isso quer dizer que a cardinalidade define o comportamento do relacionamento, definindo-o como um para muitos, muitos para um ou até muitos para muitos. Os tipos de modelo Modelo Lógico: É o modelo de abstração do sistema. Neste, detalhes como qual banco de dados será usado, o tipo de campo, o tipo de hardware, entre outros aspectos não são relevantes. Aqui, somente as necessidades do processo são definidas, dando uma visão global do sistema. No Erwin, podemos ter uma visão da regra de negócio, ou seja, podemos planejar uma estrutura lógica para o banco de dados, onde são definidas as validações, as restrições da regra de negócio, a análise das entidades e dos atributos definidos para a aplicação como um todo. Modelo Físico: É onde os detalhes são definidos. Serve como um espelho de tudo o que está no banco de dados, permitindo controlar características de tabelas e colunas (conhecidos no modelo lógico como Entidades e Atributos) de forma particular para o SGDB utilizado além de possibilitar a definição de Procedures, Triggers e outros processos. Criando o modelo lógico O tipo de modelo que está sendo visualizado encontra-se na Combo situada logo acima da barra de ferramentas, mostrada na Figura 1. O modelo utilizado inicialmente será o modelo lógico, pois começando por este fica mais fácil definir o outro. Isso porque, como já foi visto, no modelo lógico tem-se um melhor controle da aplicação, sendo possível definir as validações necessárias, tanto para a regra de negócio como para a implementação de banco de dados no modelo físico. Posteriormente, podem ser criados modelos físicos para acessar a diferentes bancos de dados a Figura 4. Editor de Atributos partir do mesmo modelo lógico. Será criado um modelo simples, onde definiremos algumas entidades com seus respectivos atributos e relacionamentos mostrando como utilizar alguns dos muitos recursos disponíveis no ErWin para modelagem de dados. O modelo será feito com base em um sistema comercial com as tabelas CLIENTES, VENDEDO- RES, PRODUTOS, FORNECEDORES, PEDIDOS E ITENS_PEDIDOS. Criando as Entidades Como já visto, as entidades podem ser criadas através do primeiro objeto da barra de ferramentas, clicando nesta, arrastando para o modelo e trocando o seu nome, como mostrado na Figura 3. Criando os Atributos Para criar os atributos, basta apenas dar um duplo clique na entidade. É possível criar novos atributos, renomear ou excluir um atributo já existente, como mostrado na figura 4. Pode-se, também, ao lado direito da tela, definir várias características do atributo como chave primária na opção Primary Key ou Requerido na opção Required. Figura 3. Criação da Entidade Clientes Figura 5. Editor de Relacionamentos entre entidades SQL Magazine - 19

20 Figura 6. Modelo lógico com entidades, atributos e relacionamentos. Figura 8. Modelo Físico com Tabelas, Colunas e Relacionamentos Figura 7. Editor de Coluna Criando os Relacionamentos Para definir um tipo de relacionamento, basta escolher um dos três objetos já mostrados da barra de ferramentas, clicar na tabela pai e depois na tabela filho. Automaticamente, o relacionamento escolhido é visualizado. A figura 5 mostra o editor de Relacionamento e suas funcionalidades. Ao dar um duplo clique sobre o relacionamento esta tela é automaticamente aberta. Nela definimos a cardinalidade do relacionamento, assim como a nulidade dos campos que estão sendo relacionados. A figura 6 mostra o modelo totalmente criado, com suas entidades, atributos e respectivos relacionamentos. Figura 9. Target Server Configuração do Banco de Dados 20 - Magazine SQL Criando o modelo físico Após criar todo o modelo lógico é necessária a definição dos atributos do modelo físico. Para alternar entre os modelo físico e lógico basta selecionar na Combo situada logo acima da barra de ferramentas, mostrada na Figura 1. No modelo físico iremos definir características das entidades e atributos criados no modelo lógico de acordo com o SGDB utilizado. Neste modelo temos uma visão real das tabelas, colunas, procedures, triggers e outros objetos do nosso banco. A figura 7 mostra o Editor de Coluna do modelo físico. Conforme o observado no modelo físico, não existem mais Entidades e Atributos, e sim Tabelas e Colunas, nomes comuns ao banco de dados. O editor de coluna permite alterar o tipo e tamanho de cada campo, assim como definir se ele pode ou não receber valores nulos. Ainda pode-se utilizar a aba Comment para comentar cada campo, assim como cada tabela. Criando o banco de dados a partir do Modelo Físico criado Terminada a implementação é necessário criar os objetos definidos no ErWin em um banco de dados. Para isso, é preciso fazer o modelo apontar para o SGDB a ser utilizado acessando-se o menu: Server\Target Server. Além da seleção do SGDB e da versão do mesmo é possível definir opções referentes ao tipo de dados e a nulidade default para as colunas definidas no modelo bem como máscara para nomenclatura automática de índices e tabelas. Vide Figura 9. Após as configurações do Target Server, basta acessar o menu Tasks\Forward Engineer/Schema Generation para criar o banco de dados. Vide Figura 10. Utilizaremos um banco criado no Oracle. Como se pode ver a tela é bem intuitiva. Na pasta Summary indicamos os objetos do nosso modelo ( tabelas, colunas, índices, triggers, etc.. ) que serão criados no banco. Ao clicar no botão Generate, o banco é criado, automaticamente, com todas as tabelas, campos e relacionamentos demonstrados no modelo físico. A Figura 11 mostra os scripts com todos objetos gerados no banco de dados a partir do modelo implementado. Criando um modelo a partir de um banco existente Em muitos casos, o banco de dados já está totalmente implementado, sendo necessária a criação do modelo a partir deste. Este processo chama-se Engenharia Reversa, e é acessado pelo menu Tasks\Reverse Engineer. A primeira tela a ser exibida é a ErWin Template Selection, onde escolhe-se a opção Blank Diagram para criar o modelo do zero. Ao clicar em Next, depara-se com a tela Select Taget Server, onde é informado o tipo de banco de dados a ser utilizado e a sua versão. Clicando-se mais uma vez no botão Next, surge a tela Set Options onde são definidos procedimentos necessários à realização da engenharia reversa. Vide figura 12. Figura 10. Tela de geração de banco de dados

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

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

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

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

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

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

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

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

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

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

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

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

DML. SQL (Select) Verificando estrutura da tabela

DML. SQL (Select) Verificando estrutura da tabela SISTEMAS DE INFORMAÇÃO BANCO DE DADOS 2 SQL (Select) PROF: EDSON THIZON DML É a parte mais ampla da SQL. Permite pesquisar, alterar, incluir e deletar dados da base de dados. São quatro as sentenças mais

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

EXERCÍCIOS PRÁTICOS. Banco de Dados

EXERCÍCIOS PRÁTICOS. Banco de Dados EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:

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

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

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

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br

Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Abordagem geral Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br Em primeiro plano, deve-se escolher com qual banco de dados iremos trabalhar. Cada banco possui suas vantagens,

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Sumário. Capítulo 2 Conceitos Importantes... 32 Tópicos Relevantes... 32 Instance... 33 Base de Dados... 36 Conclusão... 37

Sumário. Capítulo 2 Conceitos Importantes... 32 Tópicos Relevantes... 32 Instance... 33 Base de Dados... 36 Conclusão... 37 7 Sumário Agradecimentos... 6 Sobre o Autor... 6 Prefácio... 13 Capítulo 1 Instalação e Configuração... 15 Instalação em Linux... 15 Instalação e Customização do Red Hat Advanced Server 2.1... 16 Preparativos

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

ETEC Dr. Emílio Hernandez Aguilar

ETEC Dr. Emílio Hernandez Aguilar ETEC Dr. Emílio Hernandez Aguilar Grupo: Leonardo; Ronaldo; Lucas; Gustavo; Fabio. 2º Informática Tarde 2º Semestre de 2009 Introdução O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) objeto-relacional

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

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

Á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

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

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

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

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

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

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

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

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

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

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

Operação de União JOIN

Operação de União JOIN Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

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

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

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

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

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

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

Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS

Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Criação de Consultas e Relatórios no Access CRIAÇÃO DE CONSULTAS E RELATÓRIOS NO ACCESS Sumário Conceitos / Autores chave... 3 1. Introdução... 4 2. Consultas... 5 3. Relatórios... 8 4. Conclusões... 11

Leia mais

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos. Banco de Dados O que é um Banco de Dados? Este assunto é muito vasto, tentaremos resumi-lo para atender as questões encontradas em concursos públicos. Já conhecemos o conceito de dado, ou seja, uma informação

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

Aranda SQL COMPARE. [Manual de Uso] Todos os direitos reservados Aranda Software www.arandasoft.com [1]

Aranda SQL COMPARE. [Manual de Uso] Todos os direitos reservados Aranda Software www.arandasoft.com [1] [1] Aranda SQL COMPARE Versão 1.0 Aranda Software Corporation 2002-2007. Todos os direitos reservados. Qualquer documentação técnica fornecida pela Aranda software Corporation é um produto registrado da

Leia mais

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de

Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de BD Esta aula tem o objetivo de nos orientar durante este período em nossas aulas de Banco de Dados, não tem a pretensão de ser a única fonte de informação para nosso êxito no curso. A intenção de elaborar

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

Manual de Instalação GBS-EGIS

Manual de Instalação GBS-EGIS INDÍCE Capítulo Página Microsoft SQL Server 2000 03 Instalação EGIS - SERVIDOR 04 Instalação EGIS - CLIENT 20 Acessando e Configurando o Sistema 24 Instalação do Cliente do MS SQL Server 2000 25 Configurações

Leia mais

Manual de Instalação e Configuração

Manual de Instalação e Configuração e Configuração MyABCM 4.0 Versão 4.00-1.00 2 Copyright MyABCM. Todos os direitos reservados Reprodução Proibida Índice Introdução... 5 Arquitetura, requisitos e cenários de uso do MyABCM... 7 Instalação

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

Leia mais

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador. INTRODUÇÃO O Programa pode ser instalado em qualquer equipamento que utilize o sistema operacional Windows 95 ou superior, e seu banco de dados foi desenvolvido em MySQL, sendo necessário sua pré-instalação

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

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2

Arquitetura de BDs Distribuídos. Victor Amorim - vhca Pedro Melo pam2 Victor Amorim - vhca Pedro Melo pam2 Arquitetura de BDs Distribuídos Sistemas de bds distribuídos permitem que aplicações acessem dados de bds locais ou remotos. Podem ser Homogêneos ou Heterogêneos: Homogêneos

Leia mais

Manual do Usuário. Sistema Financeiro e Caixa

Manual do Usuário. Sistema Financeiro e Caixa Manual do Usuário Sistema Financeiro e Caixa - Lançamento de receitas, despesas, gastos, depósitos. - Contas a pagar e receber. - Emissão de cheque e Autorização de pagamentos/recibos. - Controla um ou

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

Leia mais

1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All...

1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... SQL 1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... 2. Servidor... 2.1 Ativando log no Broker... 2.2 Leitura do log no

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

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

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

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

GerNFe 1.0 Sistema de Gerenciador de Notas Fiscais Eletrônicas

GerNFe 1.0 Sistema de Gerenciador de Notas Fiscais Eletrônicas GerNFe 1.0 Manual do usuário Página 1/13 GerNFe 1.0 Sistema de Gerenciador de Notas Fiscais Eletrônicas O programa GerNFe 1.0 tem como objetivo armazenar em local seguro e de maneira prática para pesquisa,

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 Rational Quality Manager Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 1 Informações Gerais Informações Gerais sobre o RQM http://www-01.ibm.com/software/awdtools/rqm/ Link para o RQM https://rqmtreina.mvrec.local:9443/jazz/web/console

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

Projeto e Implementação

Projeto e Implementação Felipe Nery Rodrigues Machado Banco de Dados Projeto e Implementação 2 Edição 4 Reimpressão São Paulo 2011 Editora Érica Ltda. 3 Projeto Sumário Capítulo 1 O Que É Projeto de Banco de Dados 15 Modelagem

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

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. 16/08/2013 BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. Versão 1.0 19/12/2014 Visão Resumida Data Criação 19/12/2014 Versão Documento 1.0 Projeto

Leia mais

Principais Instruções em SQL

Principais Instruções em SQL Instrução Principais Instruções em SQL Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros. Sintaxe [predicado { * tabela.* [tabela.]campo1 [AS alias1]

Leia 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

Microsoft Access XP Módulo Um

Microsoft Access XP Módulo Um Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo

Leia mais

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre

Leia mais

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

Leia mais

Aula 1: Noção Básica e Criação de Tabelas.

Aula 1: Noção Básica e Criação de Tabelas. Aula 1: Noção Básica e Criação de Tabelas. Introdução Olá! Seja bem-vindo a apostila de Microsoft Access 2010. Access 2010 é um Sistema de Gerenciamento de Banco de Dados da Microsoft, distribuído no pacote

Leia mais

Guia de Atualização PROJURIS WEB 4.5. Manual do Técnico Atualização - ProJuris Web 4.5. Manual do Técnico Atualização - ProJuris Web 4.

Guia de Atualização PROJURIS WEB 4.5. Manual do Técnico Atualização - ProJuris Web 4.5. Manual do Técnico Atualização - ProJuris Web 4. Guia de Atualização PROJURIS WEB 4.5 Por: Fabio Pozzebon Soares Página 1 de 11 Sistema ProJuris é um conjunto de componentes 100% Web, nativamente integrados, e que possuem interface com vários idiomas,

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

Criação Visual de Consultas. Curso: Técnico em Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes abrahao.lopes@ifrn.edu.

Criação Visual de Consultas. Curso: Técnico em Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes abrahao.lopes@ifrn.edu. Criação Visual de Consultas Curso: Técnico em Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes abrahao.lopes@ifrn.edu.br Introdução A complexidade dos sistemas informatizados atuais

Leia mais

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX.

PgAdmin. O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX. 1/20 PgAdmin O pgadmin é um software gráfico para administração do SGBD PostgreSQL disponível para Windows e UNIX. Site para download. Caso queira a última versão - http://www.pgadmin.org/download/ É uma

Leia mais

Sincronização do Catálogo de Endereços no MDaemon 6.x com o uso do ComAgent, LDAP, MAPI e WAB

Sincronização do Catálogo de Endereços no MDaemon 6.x com o uso do ComAgent, LDAP, MAPI e WAB Sincronização do Catálogo de Endereços no MDaemon 6.x com o uso do ComAgent, LDAP, MAPI e WAB Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N

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

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

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Tarefa Orientada 12 Junção Externa, Auto-Junção e União Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa

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

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

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

PAV - PORTAL DO AGENTE DE VENDAS AGL Versão 2.0.6. Manual de Instalação e Demonstração AGL Sistemas Corporativos

PAV - PORTAL DO AGENTE DE VENDAS AGL Versão 2.0.6. Manual de Instalação e Demonstração AGL Sistemas Corporativos PAV - PORTAL DO AGENTE DE VENDAS AGL Versão 2.0.6 Manual de Instalação e Demonstração AGL Sistemas Corporativos Add-on responsável pela integração do SAP Business One com o setor comercial através da internet.

Leia mais

ÍNDICE. Sobre o SabeTelemarketing 03. Contato. Ícones comuns à várias telas de gerenciamento. Verificar registros 09. Tela de relatórios 09

ÍNDICE. Sobre o SabeTelemarketing 03. Contato. Ícones comuns à várias telas de gerenciamento. Verificar registros 09. Tela de relatórios 09 ÍNDICE Sobre o SabeTelemarketing 03 Ícones comuns à várias telas de gerenciamento Contato Verificar registros 09 Telas de cadastro e consultas 03 Menu Atalho Nova pessoa Incluir um novo cliente 06 Novo

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

www.coldfusionbrasil.com.br

www.coldfusionbrasil.com.br www.coldfusionbrasil.com.br 2000 1 O que é Cold Fusion? 3 Arquitetura Cold Fusion 3 Cold Fusion Markup Language (CFML) 4 O que devo saber para programar em CFML? 4 HTML 4 Desenho de Banco de Dados Relacionais

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais