A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Genômica e Proteômica Sistema Operacional, Linguagem de Programação Perl e Banco de Dados.

Apresentações semelhantes


Apresentação em tema: "Genômica e Proteômica Sistema Operacional, Linguagem de Programação Perl e Banco de Dados."— Transcrição da apresentação:

1 Genômica e Proteômica Sistema Operacional, Linguagem de Programação Perl e Banco de Dados

2 Agosto / 2004LABINFO – LNCC / MCT Introdução Sistemas operacionais, linguagem de programação e banco de dados: O que são ? Para que servem ? Precisamos entender como funcionam e / ou como os utilizamos ? ?? ? ?

3 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional Introdução Classificação dos sistemas operacionais Estrutura do sistema operacional

4 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – introdução Coleção de programas que controla a operação de um computador Facilitar o acesso aos recursos do sistema Compartilhar os recursos de forma organizada e protegida

5 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – introdução Sistema operacional Aplicativos Utilitários Dispositivos físicos

6 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – introdução Organização genérica de um computador

7 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – classificação Monoprogramáveis / monotarefa Recursos são dedicados a execução de um único programa Subutilização dos recursos Implementação simples Monousuário

8 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – classificação Multiprogramáveis / multitarefa Compartilhamento dos recursos entre diferentes programas A CPU é utilizada por cada programa em intervalos de tempo (time sharing) Implementação mais complexa Monousuário ou multiusuário Controle de entrada e saída Níveis de proteção do sistema

9 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – classificação Múltiplos processadores Duas ou mais CPUs interligadas CPUs executam programas diferentes ou o mesmo programa Implementação complexa Tipicamente multiusuário

10 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – estrutura O núcleo do sistema deve realizar: Criação e eliminação de processos Tratamento de interrupções Sincronização e comunicação entre processos Escalonamento e controle de processos Gerência de memória Operações de entrada e saída Gerência de dispositivos Contabilização e segurança

11 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – processos É o ambiente onde se executa um programa O SO mantém informações sobre os processos: Contexto de hardware Contexto de software (identificação do processo e do usuário, quotas de recursos e privilégios) Espaço de endereçamento (área da memória onde estão o código do programa e os dados utilizados

12 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – processos Um processo assume diferentes estados Execução: Quando o processo está sendo processado pela CPU Pronto: Quando o processo está aguardando a CPU para ser processado Espera: Quando aguarda algum evento externo ou por algum recurso para prosseguir o seu processamento

13 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – processos Tipos: CPU-bound Quando o processo passa a maior parte do tempo utilizando o processador I/O-bound Quando o processo passa a maior parte do tempo no estado de espera, pois realiza um elevado número de operações de entrada e a saída

14 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – gerência de memória Memória principal É a área onde estão armazenados as instruções e o dados de um programa Pode ser volátil ou não volátil Memória secundária É a área onde ficam armazenados, de forma perene, os programas e arquivos. É uma memória não volátil.

15 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – gerência de memória Memória virtual Técnicas que, através do uso de partes da memória secundária, simulam a memória principal

16 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – entrada e saída Realiza as funções que são comuns a todos os dispositivos Aspectos específicos de cada dispositivo ficam a cargo dos respectivos drivers Garante que os programas possam se comunicar com qualquer dispositivo conectado ao computador

17 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – entrada e saída Subsistemas de E/S Operações de E/S Processos Device drivers Controladores Dispositivos Software Independente do dispositivo Dependente do dispositivo Hardware

18 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – sistema de arquivos Arquivo: Conjunto de informações logicamente relacionadas, podendo representar programas ou dados O sistema de arquivos oferece um conjunto de chamadas ao sistema operacional que permitem a realização de operações de entrada e saída

19 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – sistema de arquivos Atributos: São as informações de controle sobre o arquivo Nome Tamanho Proteção (privilégios para usuário, grupo e outros) Dono e o grupo Data de criação e modificação

20 Agosto / 2004LABINFO – LNCC / MCT Sistema operacional – referências Arquitetura de Sistemas Operacionais Francis B. Machado e Luiz Paulo Maia. Livros Técnicos e Cientifícos Editora S.A. ISBN 85-216-1097-1 Sistemas Operacionais Modernos Andrew S. Tanenbaum Prentice Hall do Brasil ISBN 85-7054-059-0

21 Agosto / 2004LABINFO – LNCC / MCT Linguagem Linguagem É o uso da palavra articulada e escrita como meio de expressão e comunicação Léxico Conjunto de palavras de uma língua Sintaxe Estudo da disposição das palavras na frase e a das frases no discurso, bem como a relação lógica das frases entre si Semântica O significado do discurso

22 Agosto / 2004LABINFO – LNCC / MCT Linguagem de programação Conjunto de instruções e regras de composição e encadeamento, por meio do qual se expressam ações executáveis por um computador, seja diretamente, seja por meio de processo de compilação, interpretação ou montagem

23 Agosto / 2004LABINFO – LNCC / MCT Linguagem de programação Montagem Conversão de um programa fonte, escrito em linguagem assembly, para o código de máquina Compilação Conversão de um programa fonte em um programa executável Interpretação Conversão, em tempo de execução, de um programa fonte em um programa executável

24 Agosto / 2004LABINFO – LNCC / MCT Perl Interpretada Alto nível Suporte a várias plataformas Unix, Windows, Mac OS, BeOS... Modular e orientada o objetos

25 Agosto / 2004LABINFO – LNCC / MCT Perl Tipo de dados variáveis Operadores Declarações de controle e de laço Funções Manipulação de arquivos e E/S Expressões regulares

26 Agosto / 2004LABINFO – LNCC / MCT Perl – tipo de dados Tipos de dados Define que tipo de valores podem ser utilizados no do programa Valores escalares Lista de valores arrays hashes

27 Agosto / 2004LABINFO – LNCC / MCT Perl – tipo de dados Scalars Armazena uma cadeia de caracteres ou números. Ex.: Cadeia de caracteres perl Números 2, 3.14

28 Agosto / 2004LABINFO – LNCC / MCT Perl – tipo de dados Array de scalars É uma lista ordenada de scalars acessados através de um índice. Ex.: array1 = (c, c++, perl) array2 = (1, 3, 5, 7, 9) O índice sempre começa com o número 0 array1[0] = c array2[3] = 7

29 Agosto / 2004LABINFO – LNCC / MCT Perl – tipo de dados Hash de scalars É um conjunto não ordenados de pares chave/valor que podem ser acessados usando uma cadeia de caracteres, que é a chave, como índice, para recuperar um scalar que é o valor correspondente para esta chave. Ex.: hash = (ling1 => c, ling2 => perl)

30 Agosto / 2004LABINFO – LNCC / MCT Perl – variáveis Variável Porção de memória que contém um valor de determinado tipo de dado Variável do tipo scalar $x = perl $y = 3.14 $x = 1.41 $y = c++ $y = 2 $x = 10/$y $x = 5 $y = teste $x = 10/$y $x = ??? Erro em tempo de execução (Illegal division by zero at line nnn)

31 Agosto / 2004LABINFO – LNCC / MCT Perl – variáveis Variável do tipo array @x = (a, b, c) @y = (1, 2, 4) $a = $x[0] O conteúdo de $a é igual a a $b = $y[1] O conteúdo de $b é igual a 2

32 Agosto / 2004LABINFO – LNCC / MCT Perl – variáveis Variável do tipo hash %tabela = (Jan => 31, Fev => 28) $par1 = $tabela{Jan} O conteúdo de $par1 é igual a 31 $par2 = $tabela{Fev} O conteúdo de $par2 é igual a 28

33 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Operadores Símbolos que representam as operações possíveis sobre variáveis e arquivos. Podem ser classificados: de acordo com o número de operandos unários, binários, ternários ou pelo tipo de operação aritmética, lógica etc

34 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Unário e aritmético $a = 5 ++$a incrementa $a e retorna 6 $a = $a + 1 $a++ retorna 6 e incrementa $a --$a $a--

35 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Binário e aritmético $a + $b, adição $a - $b, subtração $a * $b, multiplicação $a / $b, divisão $a % $b, resto da divisão $a ** $b, potenciação

36 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Binário e string $a. $b, concatenação $a = abc $b = cde $c = $a. $b $c = abccde $a x $b, multiplicação $a = abc $b = 3 $c = $a x $b $c = abcabcabc $b = c $c = $a x $b $c = ???

37 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Atribuição $a = 5 $b = $a $b = 5 $a *= 3 $a = 15 $a.= $a $a = 1515 $a x= 3 $a = 151515151515 $a -= 1000000 $a=151514151515

38 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Lógicos $a && $b (and) falso e falso = falso falso e verdadeiro = falso verdadeiro e falso = falso verdadeiro e verdadeiro = verdadeiro $a || $b (or) falso ou falso = falso falso ou verdadeiro = verdadeiro verdadeiro ou falso = verdadeiro verdadeiro ou verdadeiro = verdadeiro !$a (not)

39 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Comparação (números) == igual != diferente < menor > maior <= menor ou igual >= maior ou igual comparação retorna: 0 se igual, 1 se operando 1 é maior, -1 se operando 2 é maior

40 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Comparação (string) eq igual ne diferente lt menor gt maior le menor ou igual ge maior ou igual cmp comparação retorna: 0 se igual, 1 se operando 1 é maior, -1 se operando 2 é maior

41 Agosto / 2004LABINFO – LNCC / MCT Perl – operadores Teste de arquivos -e existe -r permissão de leitura -w permissão de escrita -d verifica se é diretório -f verifica se é um arquivo -T verifica se é um arquivo texto

42 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações Declarações representam ações que desejamos realizar. Podem ser: Simples sempre finalizada com um ; print teste; Composta um seqüência de declarações dentro de um mesmo bloco {$a =5; $b = 6; $c = $a*$b; print $c} Obs.: a) Um bloco é delimitado por { } b) A última declaração de um bloco não precisa ser finalizada com ;

43 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações Declarações de controle Declarações utilizadas para decidir a seqüência de comandos a ser executada pelo programa if Avalia se uma condição é verdadeira e executa um bloco de comandos unless Avalia se uma condição é falsa e executa um bloco de comandos

44 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações if ($a == $b) { print $a é igual a $b; $a-- } else { print $a é diferente de $b } interpolação de variáveis

45 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações unless ($a == $b) { print $a é diferente que $b\n } Caractere especial de quebra de linha

46 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações if (($a == $b) && ($c == $d)) { print Todos os números são iguais\n } elsif ($a != $b) { print $a é diferente de $b\n } elsif ($c != $d) { print $c é diferente de $d\n } if ($a == 1) { print $a é igual a 1\n } elsif ($a == 2) { print $a é igual a 2\n } else { print $a é diferente de 1\n; print e diferente de 2\n; }

47 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações Declarações de laço (loop) Utilizadas para decidir quantas vezes um bloco de comandos será executado while Avalia se a condição é verdadeira e executa um bloco de comandos until Avalia se a condição é falsa e executa um bloco de comandos No while e no until uma condição inicial é determinada antes do início do loop e é modificada dentro do bloco de comandos

48 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações for Avalia se a condição é verdadeira e executa um bloco de comandos. A condição inicial é determinada e modificada na declaração do for foreach Executa um bloco de comandos para cada elemento de uma lista de scalars

49 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações while ($i < 10) { print $i\t; $i++ } print \n caracter especial de tabulação

50 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações open FILE, <teste.txt if (-e teste.txt); while ( ) { print $_ } abertura de arquivo atribuindo-o para o filehandle FILE faz o loop enquanto não chegar ao final do arquivo variável predefinida, que recebe a linha corrente do arquivo

51 Agosto / 2004LABINFO – LNCC / MCT Perl – declarações for ($i = 0; $i <= 10; $i++) { print $b[$i].\n } foreach $a (@b) { print $a.\n } foreach $a (keys %b) { print $a.\n } operador de concatenação

52 Agosto / 2004LABINFO – LNCC / MCT Perl – funções Comandos predefinidos no Perl ou construídos pelo programador Exemplos: print, open, shift predefinidos somar construído pelo programador sub somar { $a = shift; $b = shift; $c = $a + $b;return $c } $resultado = somar(5,6);

53 Agosto / 2004LABINFO – LNCC / MCT Perl – manipulação de arquivos e E/S Existem funções predefinidas para a manipulação de arquivos e E/S open Abre arquivo close Fecha arquivo opendir Abre diretório closedir Fecha diretório readdir Lê o conteúdo do diretório symlink Cria um link chdir Troca de diretório chmod Troca os privilégios de um arquivo print Imprime para uma saída

54 Agosto / 2004LABINFO – LNCC / MCT Perl – manipulação de arquivos e E/S open FILEIN, <teste.txt or die Erro: $!\n; open FILEOUT, >teste.out or die Erro: $!\n; while ( ) { chomp; $a = $_ % 2; if ($a = = 0) { print FILEOUT $_\n } close FILEIN; close FILEOUT variável predefinida, que recebe a mensagem de erro função que retira o caracter \n

55 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares É o meio de descrever um conjunto de strings sem conhecer a lista de todas as strings disponíveis, através de um padrão definido pelo programador / usuário, a partir de um conjunto de operadores e caracteres especiais

56 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Operadores m// Verifica a ocorrência do padrão que está entre as barras Exemplo while ( ) { if ($_ =~ m/ACGTAGTGT/) if ($_ =~ /ACGTAGTGT/) { print $_ } operador de ligação

57 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Operadores s/PADRÃO_1/ PADRÃO_2/ Verifica a ocorrência do PADRÃO_1 e o substitue pelo PADRÃO_2 Exemplo while ( ) { if ($_ =~ s/ACG/TGC/) { print $_ }

58 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Operadores tr/LISTA_1/ LISTA_2/ Substitue cada elemento da LISTA_1 pelos elementos correspondentes na LISTA_2 Exemplo while ( ) { if ($_ =~ tr/ACGT/acgt/) { print $_ }

59 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Metacaracteres \Para representar caracteres não alfanuméricos |Alternação entre diferentes padrões ( ) Agrupamento. Trata o padrão como um grupo [ ] Cria uma classe de caracteres { } Define o número de ocorrências de um padrão ^Determina que o padrão deve estar no início da string $Determina que o padrão deve estar no final da string *O padrão deve ocorrer 0 ou mais vezes +O padrão deve ocorrer uma ou mais vezes ?O padrão deve ocorrer 0 ou uma vez.Qualquer caracter, com exceção do caracter de nova linha

60 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Metacaracteres Exemplos m/\t\t/ procura por dois caracteres de tabulação m /[Aa]/ procura por A ou a m /(TGA)(TGT)/ procura e agrupa por TGA e TGT. Agrupar significa que estes valores serão retornados nas variáveis $1 e $2 s/(TGA)(TGT)/$2$1/

61 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Metacaracteres Exemplos m/TGA | TGT/ procura por TGA ou TGT m/^TGA / procura por TGA no início da string m/TGA$/ procura por TGA no final da string m/T.A/ procura por T, qualquer caracter e A

62 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Metacaracteres Exemplos m/T*GT/ procura por 0 ou mais Ts seguidos de GT TGT, TTTTGT e GT satisfazem a esta expressão regular m/(T+)GT / procura por um ou mais Ts seguidos de GT e retorna na variável $1 a ocorrência dos T TGT ou TTTTGT satisfazem a esta expressão regular $1 receberá T ou TTTT m/T?GT/ procura por 0 ou um T seguido de GT TGT e GT satisfazem a esta expressão regular

63 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Metasímbolos \w qualquer alfanumérico e o caracter _ \W qualquer caracter diferente de alfanumérico \d qualquer caracter numérico (0..9) \D qualquer caracter diferente de numérico \s qualquer caracter espaço em branco \S qualquer caracter diferente de espaço em branco \t caracter de tabulação

64 Agosto / 2004LABINFO – LNCC / MCT Perl – expressões regulares Metasímbolos Exemplos $nomeSequencia = XL1010A01.g $nomeSequencia =~ /\w\w\d\d\d\d\w\d\d\.\w/ $nomeSequencia =~ /\D+\d+\w\d+\.\w/ $nomeSequencia =~ /\w{2}\d{4}\w\d{2}\.\w/ $organ = XL; $nomeSequencia =~ /$organ\d{4}\w\d{2}.\w/

65 Agosto / 2004LABINFO – LNCC / MCT Perl – módulos Módulos É a unidade fundamental para reuso de código no Perl O Perl vem com um conjunto padrão de módulos Exemplo: CGI Módulo para implementar CGI (Commom Gateway Interface – Interface padrão para a criação de programas para serem executados através da internet) Math::Complex Módulo com funções de manipulação de números complexos CPAN Módulo para automatizar o acesso ao CPAN(Comprehensive Perl Archive Network – Repositório de módulos e documentação para Perl)

66 Agosto / 2004LABINFO – LNCC / MCT Perl – módulos No CPAN (e em outros repositórios) encontram-se vários módulos disponíveis para a execução de diversas tarefas Exemplo: DBI Para implementar o acesso a banco de dados GD Para manipulação de imagens libwww Para implementar diversos serviços de e para web bioperl Conjunto de módulos que implementam diversas ferramentas para bioinformática

67 Agosto / 2004LABINFO – LNCC / MCT Perl – documentação man perl perldoc

68 Agosto / 2004LABINFO – LNCC / MCT Perl – referências Programming Perl Larry Wall, Tom Christiansen, Jon Orwant OReilly & Associates, Inc. ISBN: 0-596-00027-8 www.perl.org... www.perl.org Bioperl.org Bioperl-l, cascavel-l

69 Agosto / 2004LABINFO – LNCC / MCT Banco de dados Banco de dados Coleção de dados inter- relacionados, projetada para atender às necessidades de um grupo específico de aplicações e usuários Sistema Gerenciador de Banco de Dados Conjunto de programas, de propósito geral, que facilita o processo de construção e manipulação de banco de dados para servir a diversas aplicações

70 Agosto / 2004LABINFO – LNCC / MCT Banco de dados SGBD AplicaçãoAdministrador BD Usuário

71 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto Modelo de dados Conjunto de conceitos utilizados para descrever a estrutura de um banco de dados Modelo de dados de alto nível Entidade Relacionamento Modelo de dados de implementação Tabelas (relações)

72 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto Entidades Representa um conjunto de elementos de um mesmo tipo que se deseja representar em um banco de dados, e é caracterizada pelos seus atributos. Ex.: a) Gene (nome, produto, seqüência de nucleotídeos, seqüência de aminoácidos b) Categoria (nome, descrição)

73 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto Relacionamento Representa associações entre elementos de duas ou mais entidades. É caracterizada pelas entidades participantes, pela sua cardinalidade e por seus atributos Ex.: Gene Categoria Um gene tem uma categoria e uma categoria caracteriza vários genes

74 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto Desenho com um MER Gene Categoria tem nome produto seq nome descrição atributosentidades relacionamento N 1 cardinalidade

75 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto Tabelas (relações) Os dados são organizados em tabelas. As tabelas são formadas por colunas e linhas. As colunas são os atributos definidos para as entidades e relacionamentos. As linhas contêm os valores que os atributos podem assumir.

76 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto Chave É um atributo, ou conjunto de atributos, que identifica univocamente uma relação. Ou seja, um atributo chave não apresenta valores duplicados. Se um atributo chave for definido como chave primária não poderá conter o valor nulo Chave estrangeira Uma chave de uma relação R que referencia a chave primária de uma relação S é chamada de chave estrangeira.

77 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto Mapeamento Lógico-Relacional Transforma o modelo de dados de alto nível (Modelo Entidade-Relacionamento – MER) no modelo de dados de implementação (Relacional). A transformação é o mapeamento de cada entidade, relacionamento, e seus respectivos atributos em tabelas.

78 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto nomeprodutoseqüência dnaA... recA... Gene nomedescrição... Categoria Criando as tabelas

79 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto nomeprodutoseqüênciacat_nome dnaA... recA... Gene nomedescrição... Categoria Criando os relacionamentos

80 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto Mapeamento de entidade Mapeamento de relacionamento N:1 Se o relacionamento não tem atributos, é inserido na tabela com cardinalidade N a chave primária da entidade com cardinalidade 1 N:1 Se o relacionamento tem atributos, é criada uma nova tabela, com as chaves das tabelas do relacionamento, mais os atributos N:M O mesmo procedimento acima

81 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SQL (Structured Query Language) Linguagem de definição e manipulação de dados padrão do modelo relacional Comandos de definição CREATE DATABASE, CREATE TABLE, ALTER TABLE, DROP... Comandos de manipulação SELECT, UPDATE, INSERT, DELETE...

82 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação CREATE DATABASE genoma; USE genoma; CREATE TABLE Gene ( idINT(9)NOT NULL, nomeCHAR(7)NOT NULL, produtoVARCHAR(100)NOT NULL, PRIMARY KEY (id), UNIQUE(nome) );

83 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação DROP TABLE Gene; DROP DATABASE genome;

84 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação Tipo de dados Define os diferentes valores que um atributo em uma tabela pode assumir Ex.: INT -2.147.483.648 a 2.147.483.647 CHAR(n) Cadeia de caracteres de tamanho n VARCHAR(n) Cadeia de caracteres de tamanho até n

85 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação Comando de consulta SELECT FROM Recupera os dados contidos em tabelas SELECT Nome, Seqüência FROM Gene Recupera todos os Nomes e Seqüências contidos na tabela Gene SELECT * FROM Gene Recupera todos os dados contidos na tabela Gene

86 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SELECT DISTINCT Nome FROM Gene Recupera os nomes dos genes sem repetição Resultado nomeprodutoseqüênciaorganismo dnaA... p. aeroginosa dnaA... m. genitalium recA... m. genitalium Gene nome dnaA recA

87 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SELECT Nome, TamAA*3 FROM Gene Novas colunas podem ser derivadas a partir de expressões aritméticas nomeprodutoseqüênciaTamAA dnaA... 343 dnaA... 349 recA... 173 Gene

88 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SELECT DISTINCT Nome, TamAA*3 FROM Gene ORDER BY Nome DESC A cláusula ORDER BY define um critério de ordenação do resultado Resultado nomeTamAA*3 recA519 dnaA1029 dnaA1047

89 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SELECT * FROM Gene WHERE TamAA > 200 A cláusula WHERE define as condições que selecionam os dados a serem recuperados Resultado nomeprodutoseqüênciaTamAA dnaA... 343 dnaA... 349

90 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – projeto nomeprodutoseqüênciacat_nome dnaA... recA... Gene nomedescrição... Categoria Criando os relacionamentos

91 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SELECT Gene.Nome, Descrição FROM Gene, Categoria WHERE cat_nome = Categoria.Nome Recupera o nome do gene e a descrição da categoria quando o nome da categoria em ambas as tabelas são iguais A junção é realizada para todas as tabelas listadas na cláusula FROM. As condições na cláusula WHERE restringem os dados recuperados

92 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SELECT count(*) FROM Gene WHERE Organism = p. aeroginosa Retorna o número de registros que existem na tabela Gene que correspondem ao organismo p. aeroginosa Existem outras funções: SUM, AVG, MAX, MIN

93 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SELECT Nome, count(*) AS num_genes FROM Gene GROUP BY Nome Retorna o nome e o número de ocorrências de cada gene. A cláusula GROUP BY organiza o resultado em grupos lógicos. A palavra AS cria apelidos para o nome das colunas Resultado nomenum_genes recA1 dnaA2

94 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação SELECT Nome, count(*) AS num_genes FROM Gene GROUP BY Nome HAVING count(*) > 1 Retorna o nome e o número de ocorrências de cada gene, onde num_genes for maior que 1. A cláusula HAVING define quais grupos farão parte da resposta Resultado nomenum_genes dnaA2

95 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação Forma geral do SELECT SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING ] [ORDER BY ]

96 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação UPDATE SET [WHERE ] UPDATE Gene SET Nome = DNAA WHERE Nome = dnaA

97 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação INSERT INTO [ ] VALUES INSERT INTO Gene (Nome, TamAA) VALUES (girA, 493)

98 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – implementação DELETE FROM [WHERE ] DELETE FROM Gene WHERE Nome = girA

99 Agosto / 2004LABINFO – LNCC / MCT Banco de dados – referências Date Sylberchatz Manual do MySQL

100 Agosto / 2004LABINFO – LNCC / MCT Programas para acesso a BD Perl, CGI, DBI (Database interface) www.lncc.br/~lgonzaga/gp2004

101 Agosto / 2004LABINFO – LNCC / MCT Banco de dados SGBD AplicaçãoAdministrador BD Usuário

102 Agosto / 2004LABINFO – LNCC / MCT Programas para acesso a BD SGBD MySQL Aplicação Script em Perl + DBI BD MySQL Usuário driver MySQL

103 Agosto / 2004LABINFO – LNCC / MCT Referências Perl DBI man DBI man CGI


Carregar ppt "Genômica e Proteômica Sistema Operacional, Linguagem de Programação Perl e Banco de Dados."

Apresentações semelhantes


Anúncios Google