banco de dados em bioinformÁtica - ime-usp · sql commands. um banco de dados oferece ......
Post on 16-Dec-2018
222 Views
Preview:
TRANSCRIPT
BANCO DE DADOS EM BIOINFORMÁTICA
Márcio K. Oikawa
UFSCar
moikawa@ufscar.br
Palestrante
• Professor da Universidade Federal de São Carlos –campus Sorocaba;
• Formação na área de Ciência da Computação;
• Atuação em vários projetos relacionados a Bioinformática e Biologia Molecular Computacional;
• Material desta aula é baseado nos slides do prof. Luciano Vieira de Araújo (EACH-USP).
Objetivos
• Reconhecer as necessidades de um banco de dados;
• Aprender a resolver problemas usando bancos de dados;
• Explorar os recursos de ferramentas de bancos de dados relacionais;
• Reconhecer oportunidades de aplicar isso a projetos de Bioinformática.
Roteiro
• Introdução• Motivação;
• O que é banco de dados;
• Quando usar e não usar banco de dados.
• Um pouco sobre banco de dados• Modelo relacional;
• Consultas SQL;
• Data warehouse e Data mining.
• Pontos importantes a serem considerados em um projeto de pesquisa
• Aplicações em Bioinformática
• Desafios e oportunidades de pesquisa em banco de dados aplicado à Bioinformática
Dados – Informações – Conhecimento
ANGELONI, Maria Terezinha.2003
Os dados são elementos brutos, sem significado, desvinculados da realidade.
"observações sobre o estado do mundo". Davenport, 1998. “descrição elementar”. Turban, 2007.
As informações são dados com significado - resultado do encontro de uma situação de decisão com um conjunto de dados"São dados dotados de relevância e propósito" (Davenport, 1998). Dados organizados, com valor para o receptor (Turban, 2007)
O conhecimento pode então ser considerado como a informação processada pelos indivíduos – entendimento, experiência, aprendizagem acumulada e prática.
o "conhecimento é a informação mais valiosa (...) é valiosa precisamente porque alguém deu à informação um contexto, um significado, uma interpretação (...)". Davenport (1998)
Dados – Informações – Conhecimento
ANGELONI, Maria Terezinha. Elementos intervenientes na tomada de decisão. Ci. Inf. [online]. 2003, v. 32, n. 1, pp. 17-22.
http://www.scielo.br/pdf/ci/v32n1/15969.pdf
Contexto
Conhecimen
to
O caminho da sociedade da informação
para a sociedade do conhecimento é o
caminho da informação para o
significado, da percepção para o
julgamento."
MARKL, Hubert.,1998
Vamos começar do começo!
• O que é um banco de dados?
Um conjunto de dados qualquer.
Banco de dados simples
• Para que serve um banco de dados?
• Guardar;
• Lembrar;
• Proteger;
• Zelar (garantir a qualidade).
• Este é um bom banco de dados?
História do banco de dados
• Evolução do processamento e
armazenamento dos dados
Gerenciamento de dados - História
• Dados não armazenados nos discos
• Programador define tanto a estrutura lógica quanto física
dos dados (estrutura de armazenamento, métodos de
acesso, modos de I/O, etc)
• Um conjunto de dados por programa
• Alto nível de redundância
Gerenciamento
dos dados
PROGRAMA 1DATA SET 1
Gerenciamento
dos dados
PROGRAMA 2DATA SET 2
Processamento de arquivos - história(recente e atual)
• Dados armazenados em arquivos com interface entre o
programa e o arquivo
• Vários métodos de acesso disponíveis:
• Seqüencial, indexado, randômico, etc
• Um arquivo utilizado por vários programas
Gerenciamento
dos dados
PROGRAMA 1
Gerenciamento
dos dados
PROGRAMA 2
Gerenciamento
dos dados
PROGRAMA 3
Serviços
de
File
System
Arquivo 1
Arquivo 2
da
do
s
red
un
dan
tes
Funções do Sistema de Arquivos
• Mapeamento entre arquivos lógicos e físicos
• Arquivos lógicos: arquivo visto pelos usuários e
programas
• Programa manipula arquivos lógicos
• Arquivos físicos: arquivo realmente como
armazenado em um dispositivo
• Sistema operacional manipulam os arquivos físicos
• Um conjunto de serviços e uma interface
Gerenciamento
dos dados
PROGRAMA 1
Gerenciamento
dos dados
PROGRAMA 2
Gerenciamento
dos dados
PROGRAMA 3
Serviços
de
File
System
Arquivo 1
Arquivo 2
da
do
s
red
un
da
nte
s
Problemas com Sistemas de Arquivos
• Dados altamente redundantes
• Compartilhamento limitado e em nível de
arquivo
• Alto custo de manutenção
• Dependência dos dados
• Para garantir a consistência e controle de
acesso
• Granularidade de compartilhamento
• Dificuldades no desenvolvimento de novas aplicações
A abordagem dos Bancos de Dados
PROGRAMA 1 PROGRAMA 2
SGBD
Processador de consultas
Gerenciador de transações
...
Base de Dados
Integrada
O que é um SGBD?
• Uma grande coleção integrada de dados
• Modelos do mundo real
• Entidades (ex. estudantes, cursos)
• Relacionamentos (ex. Sivia está cursando PRBD)
Um Sistema de Gerenciamento de
Banco de Dados (SGBD) é um pacote
de software designado para guardar e
gerenciar um banco de dados
Estrutura do sistema
indexes
data files
catalog
Query Evaluation Engine
File & Access
Methods
Buffer Manager
Disk Space Manager
Reco
very
Man
ag
er DDL
CompilerTransaction
&
Lock
Manager
SGBD
Forms
Application
Front ends
DML/CLI
interface DDL
DBAPGMsusers
SQL commands
Um banco de dados oferece
• Consistência
• Eficiência
• Controle de restrições
• Chave,
• Tipo de dados,
• Chave estrangeira,
• Unicidade,
• Possível qualidade de dados
• Como assim ?
Quando não usar banco de dados
• Existe algum caso ?
Porque usar um SGBD?
• Os dados constituem um bem para a organização e requerem controle integrado
• Acesso independente e eficiente a dados
• Redução no tempo de desenvolvimento da aplicação
• Integridade e segurança dos dados
• Administração uniforme dos dados
• Acesso concorrente (compartilhamento)
• Recuperação de “crashes”
• Produtividade para o programador Independência dos dados
Porque estudar Bancos de Dados?
• Mudança da computação para a informação
• Mundo heterogêneo – Diferentes tipos de aplicações e
complexidade
• Conjuntos de dados aumentando em diversidade e
volume
• Bibliotecas digitais, projeto do genoma humano,
uso da informação para o processo de tomada
de decisões das empresas (competitividade)
• Necessidade de bancos de dados cada vez
maiores
• SGBD permeia a maior parte da computação:
• SOs, linguagens, lA, multimidia, etc....
SGBDs
• Comerciais
• Oracle
• Sybase
• Sql server
• DB2
• Access
• Gratuitos
• Mysql
• Postgresql
• Hsqldb
Tipos de banco de dados
• Quanto ao processamento de transações
• Centralizados
• Distribuídos
• Modelo de dados
• Relacional
• Orientado a objetos
• Especialização
• Geográficos
• Temporais
• Natureza dos dados
• Produção
• Analítico (Data warehouse)
Desafios da Bioinformática
• Conceitos em constante mudança
• Modelagem e gerenciamento dos dados
• Integração de banco de dados
• Rastreabilidade de dados
• Qualidade de dados
Exercício
• Desenhe um banco de dados para atender um sistema de
controle acadêmico (geração de histórico escolar) que
contemple:
• Dados sobre os alunos
• Dados sobre as diciplinas
• Dados sobre os professores
• Seus relacionamentos (qual a nota de cada aluno
nas disciplinas que cursa/cursou, qual professor
ministra cada disciplina etc.)
Discussão: quais as dificuldades encontradas?
Modelo de dados
• Um modelo de dados é uma coleção de
conceitos para descrever dados
• Um esquema é uma descrição de uma
coleção particular de dados, usando algum
modelo de dados
Modelo de dados
• O modelo de dados relacional é o modelo mais usado
hoje
• Principal conceito: relação, basicamente uma
tabela com linhas e colunas
• Toda relação tem um esquema, que descreve as
colunas, ou campos
• É um formalismo que define qual a estrutura dos
dados
• Dentro de um arquivo
• Entre arquivos
Níveis de Abstrações
• Muitas visões simples, esquema conceitual (lógico) e esquema físico
• Visões descrevem como usuários vêem o dado
• Esquema conceitual define a estrutura lógica
• Esquema físico descreve o arquivo e índices usados
Visão 1 ... Visão N
Esquema conceitual
Esquema físico
Características dos SGBDs
• Independência dos dados:
• Aplicações isoladas da maneira que os
dados são estruturados e armazenados
• Invisibilidade ou transparência dos detalhes
para o usuário (organização, estrutura de
armazenamento e estratégia de acesso)
• Transparência da estratégia lógica de acesso
• Transparência da organização física do
armazenamento e acesso
Características dos SGBDs
• Esquema integrado
• Usuários têm uma visão uniforme dos dados
• Usuários vêem apenas relações no modelo relacional
• Integridade declarativa e garantia de consistência
• 1.000 Salário 10.000
• Nenhum empregado pode ter um salário maior que
seu/sua gerente
• O usuário especifica e o sistema garante
• Visões individualizadas
• Restrições a certas relações
• Reorganização das relações por certas classes de
usuários
Características dos SGBDs
• Acesso declarativo
• Linguagem de consulta – SQL
• Esquemas são definidos usando uma DDL
• Dados são modificados/consultados usando
uma DML
• O sistema determina a execução
• Processador de consultas e otimizador
• Controle de concorrência
Controle de concorrência
• Execução da concorrência de processos é
essencial para uma boa performance do SGBD
• Acessos a discos são freqüentes e lentos, é
importante deixar a CPU alocada a diversos
processos concorrentemente
• Executar ações de diferentes processos pode
levar a contradições
• Ex.: o cheque compensado enquanto o
saldo é computado
• O SGBD evita tais problemas: usuários podem
fingir que estão usando um sistema único
Transações
• Execução das solicitações do usuário como uma
seqüência atômica de ações no BD (unidade de
leituras/gravações)
• Pode conter uma ou múltiplas consultas
• Cada transação, executada completamente, deve
deixar o BD em um estado consistente (se o BD é
consistente quando a transação começa)
• Usuários podem especificar alguma
restrições
• O SGBD não entende a semântica dos dados
Transações
• Transparência na concorrência:
• Múltiplos usuários podem acessar o banco
de dados, porém com uma visão pessoal
• Controle de concorrência
• Transparência nas falhas:
• Mesmo que ocorra uma falha, a consistência
da base de dados é garantida
• Mecanismos de logging e recuperação
SGBD – Sistemas gerenciadores de banco de dados
Exemplos de dado em um banco de dados
O lugar do SGBD no sistema
Sistema Operacional
SGBD
Hardware
Ferramentas de desenvolvimento
Programas de aplicação
Usuários do banco de dados
• Usuário final
• Usuário “leigo” ou casual
• Acessa o BD através de forms ou através de
front ends de aplicações
• Os mais sofisticados geram consultas adhoc
usando DML
• Programadores de aplicação/desenvolvedores
• Desenham e implementam aplicações que
acessam o BD (algumas podem ser utilizadas
pelos usuários finais)
Usuários do banco de dados
• Administradores de bancos de dados
(DBA – database administrator)
• Define e gerencia o esquema conceitual
• Define as visões para as aplicações e usuários
• Monitora e ajusta a performance do SGBD
(define/modifica esquema interno)
• Carrega e controla a base de dados
• Responsável pela segurança e confiabilidade
O Modelo Entidade-Relacionamento
O Modelo de dados Entidade-Relacionamento (ER)
• Descreve os dados do mundo real como
objetos e seus relacionamentos
• Amplamente utilizado para o desenho inicial
da base de dados
• Descrição informal descrição detalhada e
precisa que pode ser implementada em um
DBMS
O Processo de Desenho do BD
1. Análise de requerimentos ou necessidades
2. Desenho conceitual do BD
3. Desenho lógico do BD
4. Refinamento do esquema
5. Desenho físico do BD
6. Desenho da segurança
MER - necessário principalmente nas etapas 2 e 3
O Projeto do BD
• O projeto de um novo BD dá-se em duas
fases:
1. Modelagem Conceitual: o modelo conceitual é
construído na forma de um diagrama entidade-
relacionamento
2. Projeto Lógico: define como o banco de
dados será implementado em um SGBD
específico passando pelo refinamento do
esquema (normalização), onde verifica o
esquema relacional para redundâncias e
anomalias
Exemplo prático
• Estudo de caso...
Entidade
• Conjunto de elementos (objetos) do sistema
que possui vida própria e sobre os quais se
deseja armazenar informações no banco de
dados.
Relacionamento
Entidade
DEPARTAMENTO
Entidade
EMPREGADO
Relacionamento
LOTAÇÃO
p1
p2
p3
p4
p6
p7
p5
p8
p1,d1p2,d1
p4,d2
p5,d3
d1d2
d3
Obs: o relacionamento não necessariamente associa
entidades diferentes. Pode ocorrer um
auto-relacionamento
Classificação de relacionamentos binários
• Exemplos: relacionamentos 1:1
EMPREGADO
MESA
ALOCAÇÃO
1
1
PESSOA
CASAMENTO
marido esposa
1 1
(Relacionamento binário que
envolve apenas uma entidade)
Classificação de relacionamentos binários
• Exemplos: relacionamentos 1:n
CURSOINSCRIÇÃO
n 1
ALUNO
DEPENDENTE1 n
EMPREGADO
EMPREGADO
SUPERVISÃO
supervisor supervisionado
1 n
Classificação de relacionamentos binários
• Exemplos: relacionamentos n:n
PACIENTECONSULTA
n n
MÉDICO
FORNECEDORCAPACIDADE
n n
PEÇA
PRODUTO
COMPOSIÇÃO
composto componente
n n
PROJETOALOCAÇÃO
n n
ENGENHEIRO
Exercício
• Explique cada caso de cardinalidade
1
1
n
1
n
n
Cardinalidade de Relacionamentos
Cardinalidade (mínima, máxima) de entidade
em relacionamento
=
número (mínimo, máximo) de ocorrências de
entidade associadas a uma ocorrência da
entidade em questão através do
relacionamento
Cardinalidade de Relacionamentos
DEPARTAMENTO EMPREGADOLOTAÇÃO
1 n
Expressa que a uma ocorrência de
EMPREGADO (entidade do lado
oposto da anotação) pode estar
associada ao máximo uma (“1”)
ocorrência de DEPARTAMENTO
Expressa que a uma ocorrência de
DEPARTAMENTO (entidade do lado
oposto da anotação) podem estar
associadas ao máximo muitas (“n”)
ocorrências de EMPREGADO
Cardinalidade Mínima
• Representa o número mínimo de
ocorrências de entidade que são associadas
a uma ocorrência de uma entidade através
de um relacionamento
• Para o projeto de BD considera-se apenas
as cardinalidades mínimas 0 e 1
Cardinalidade Mínima
• A cardinalidade mínima 1 também é
chamada de “associação obrigatória”, pois
indica que o relacionamento deve
obrigatoriamente associar uma ocorrência
de entidade a cada ocorrência da entidade
em questão
• A cardinalidade mínima 0, seguindo o
mesmo raciocínio, recebe a denominação
de “associação opcional”
Cardinalidade Mínima
Exemplo:
e1
e2
e3
e4
e1,m1e2,m2
e3,m6
e4,m4
m1m6
m4m2
m5
m3
ALOCAÇÃO
(1,1)
EMPREGADO
MESA
(0,1)
Cada empregado dever ter a ele alocada obrigatoriamente uma mesa (cardinalidade
mínima 1) e que uma mesa pode existir sem que a ela esteja alocado um funcionário
(cardinalidade mínima 0)
Exemplo de uso de entidades e relacionamentos
DER para o controle acadêmico de uma universidade:
RESPONSÁVEL(1,1)
DEPARTAMENTO DISCIPLINA(0,n)
INSCRIÇÃO(0,n)
ALUNO CURSO(1,1)
DISC-CURSO
(0,n)
(0,n)
PRÉ-REQUIS
liberadoraliberada
(0,n) (0,n)
Explique o significado das cardinalidades
0,n
0,nalunos cursos
matricula
1,n
0,nalunos cursos
matricula
0,1
0,nalunos cursos
matricula
0,1
1,1alunos cursos
matricula
1)
2)
3)
4)
Atributos
• O modelo ER permite a especificação de
propriedades de entidades, como:
• participar de um relacionamento
• possuir atributo(s)
atributo
=
dado que é associado a cada ocorrência de
uma entidade ou de um relacionamento
Atributos
• São representados conforme diagrama
abaixo:
• Na prática, atributos não são representados
graficamente, para não sobrecarregar os diagramas.
Pode-se utilizar uma representação textual dos
atributos
PROJETO
nome
códigotipo
Atributos
• Exemplo: atributo de relacionamento n:n
PROJETOATUAÇÃO
(0,n) (0,n)
ENGENHEIRO
NomeCódigo Código Título
Função
Obs: um engenheiro pode atuar em diversos projetos,
exercendo diferentes funções
Identificando entidades
• Cada entidade deve possuir um identificador
• Identificador é um conjunto de um ou mais
atributos (e possivelmente relacionamentos)
cujos valores servem para distinguir uma
ocorrência da entidade das demais
ocorrências da mesma entidade
Identificando entidades
• No exemplo abaixo, o atributo código é
identificador
• Cada pessoa possui um código diferente
• O atributo código é um identificador simples
PESSOACódigo
Nome
Endereço
Identificando entidades
• Exemplo de identificador composto:
• considera-se o almoxarifado de uma empresa de
ferragens
• os produtos ficam armazenados em prateleiras
• estas prateleiras encontram-se em armários
organizados em corredores
• para cada prateleira deseja-se saber sua capacidade
em metros cúbicos
PRATELEIRAnúmero do corredor
número da prateleira
capacidade
Identificando entidades
• O identificador de uma entidade (simples ou
composto, ou composto por identificadores
externos) deve obedecer duas propriedades:
• o identificador deve ser mínimo - retirando um dos
atributos ou relacionamentos que o compõe, ele deixa
de ser identificador.
• Exemplo:
código+nome poderia ser usado como identificador mas não
atende ao requisito descrito acima, pois não formam um
identificador mínimo
(código é suficiente para distinguir as ocorrências de PESSOA)
PESSOACódigo
Nome
Endereço
Esquemas gráficos de modelos ER
• Símbolos usados na construção de esquemas ER:
Entidade
Relacionamento
Atributo
Atributoidentificador
Relacionamento identificador
(entidade fraca)
(1,1)
Generalização/especialização
Entidade associativa (agregação)
SQL – Structured Query Language
SQL
STRUCTURED QUERY LANGUAGE
• Semelhante ao inglês falado
• Fácil de escrever, ler e entender
Componentes do SQL
• DDL - Data Definition Language
• CREATE
• ALTER
• DROP
• DML - Data Manipulation Language
• SELECT
• UPDATE
• INSERT
• DELETE
• DCL – Data Control Language
• GRANT
• REVOKE
Exemplo de um banco de dados para pacientes
• Tabela (conjunto de registros/linhas/tuplas
com os mesmos atributos)
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostras
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Relacionamento entre tabelas
1,1 0,n 0,1 0,n
Pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
I
I
A1
A100
A100
<M>Amostras
Id_Amostra
Data
Pais_Coleta
Origem_Amostra
I
D
A100
A100
<M>
Possui
Sequencia
Id_Sequencia
Regiao_Genoma
Tamanho
Fasta
I
A100
I
LBIN
<M>
Origina
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Id_Paciente Idade Sexo
o
Cidade Pais
1 15 M São Paulo Brasil
2 28 F São Paulo Brasil
3 19 M Campinas Brasil
Id_Amostra Id_Paciente
(FK)
Data Pais
origem
Origem
1 2 01/01/99 Brasil Sangue
2 3 05/03/99 Françae Pele
3 2 07/08/99 Brasil Sangue
Id_Sequencia Id_Amostra
(FK)
Regiao
genoma
Tamanho Fasta
1 2 Pol 200 ACCTTAT...AACT
2 1 Gag 300 TCATTAA...CACA
3 2 Env 250 CCCTTCA...TACG
Conteúdo das tabelas
Paciente
Amostra
Sequencia
Criar Tabela - Create Tabela
Sintaxe do comando:
Create Table Nome da Tabela
( Coluna1 Tipo de dado [ Not Null] [Primay Key],
Coluna2 Tipo de dado [ Not Null],
...
ColunaN Tipo de dado [Not Null] );
[] – Indica termo opcional
Tipos de dados
• char[(n)] – Sequência de caracteres com tamanho fixo. n indica a quantidade de caracteres. Tamanho ocupado n bytes.
• int – Inteiro – Valores possíveis de -231 (-2,147,483,648) até 231
(2,147,483,647). Tamanho ocupado 4 bytes.
• smallint – Inteiro de -215 (-32,768) até 215 - 1 (32,767). Tamanho ocupado 2 bytes.
• datetime – Armazena data e horário de Janeiro. Tamanho ocupado 8 bytes
• text – Sequência de caracteres de tamanho variado.
Criar Tabela - Create Tabela
Create Table Pacientes
( Id_Paciente int8 not null primary key,
Idade int2,
Sexo char(1),
Cidade varchar(100),
Pais varchar(100))
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
Criar tabelas com relacionamentos
Constraint Fk_IdPaciente Foreign Key (Id_Paciente )
References Paciente (Id_Paciente)
Constraint Nome_da_restricao ConstraintType (Nome_atributo )
References Nome_tabela (Nome_atributo)
O relacionamento entre duas tabelas é indicado pela
restrição de integridade chamada Chave Estrangeira
(Foreign Key).
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Id_Paciente Idade Sexo
o
Cidade Pais
1 15 M São Paulo Brasil
2 28 F São Paulo Brasil
3 19 M Campinas Brasil
Id_Amostra Id_Paciente
(FK)
Data Pais
origem
Origem
1 2 01/01/99 Brasil Sangue
2 3 05/03/99 Françae Pele
3 2 07/08/99 Brasil Sangue
Id_Sequencia Id_Amostra
(FK)
Região do
genoma
tamanho Fasta
1 2 Pol 200 ACCTTAT...AACT
2 1 Gag 300 TCATTAA...CACA
3 2 Env 250 CCCTTCA...TACG
Conteúdo das tabelas
Paciente
Amostra
Sequencia
Criar tabelas com relacionamentos
Create Table amostras
( Id_Amostra int not null primary key,
Id_Paciente int,
Data DateTime,
Pais_Coleta varchar(100),
Origem_Amostra varchar(100),
Constraint Fk_IdPaciente Foreign Key (Id_Paciente)
References pacientes (Id_Paciente) )
Indica que a tabela amostras
possui relacionamento com a
tabela pacientes
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Criar tabelas com relacionamentos
Create Table Sequencias
( Id_Sequencia int not null primary key,
Id_Amostra int,
Regiao_Genoma varchar(100),
Tamanho int,
Fasta Text,
Constraint Fk_IdSequencia Foreign Key (Id_Amostra )
References Amostras (Id_Amostra) )
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Inserir dados nas tabelas
• Comando para inserir dados:
INSERT INTO Nome_Tabela (Col 1, ..., Col N)
VALUES (Val 1, ..., Val N)
insert into Paciente (Id_Paciente, idade, Sexoo, cidade, pais)
values (1, 18,‟M‟, „São Paulo‟,„Brasil‟)
• Example:
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Inserir dados - tabela Amostras
insert into amostras (Id_Amostra,Id_Paciente, Data,Pais_Coleta, Origem_Amostra)
values (1, 1,‟25/03/02‟, „Brasil‟,„Sangue‟)
• Exemplo:
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
• Comando para inserir dados:
INSERT INTO Nome_Tabela (Col 1, ..., Col N)
VALUES (Val 1, ..., Val N)
Insert into – Tabela Sequencias
insert into Sequencia (Id_Sequencia, Id_Amostra,Regiao_Genoma, Tamanho,
Fasta) values
(1, 1,‟Env‟, 200,
„>AA0001 Paciente1 Amostra1
ACTGAATCGAACTGAATCGAACTGAATCGAACTGAATCGA
ACTGAATCGAACTGAATCGAACTGAATCGAACTGAATCGA
ACTGAATCGAACTGAATCGAACTGAATCGAACTGAATCGA‟)
• Example:
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Entrada de de dados• Além do Insert, existem
outros comeos para entrada de dados. Ex.: Copy, Select into, etc
• Uma interface para entrada de dados torna o processo mais simples e transparente.
INSERT INTO Nome_Tabela (Col 1, ..., Col N) VALUES (Val 1, ..., Val N)
Id_Paciente Idade Sexoo Cidade Pais
1 15 M São Paulo Brasil
2 28 F São Paulo Brasil
3 19 M Campinas Brasil
Paciente
Consulta de dados - Select
SELECT <lista de atributos>
FROM <lista de tabelas>
[WHERE <condições>]
[ ] – Indica termo opcional
Consultar os dados inseridos
SELECT *
FROM Pacientes
SELECT *
FROM Amostras
SELECT *
FROM Sequencias
SELECT *
FROM Nome_Tabela Indica todos os campos da tabela
Evite erros de sintaxe
• Use virgulas para separar nomes de tabelas e atributos.
Select Id_Paciente, Idade, Sexo
Where Cidade = „São Paulo‟ Where Cidade = São Paulo
Diferença entre símbolos
Normal SQL Simbolos
= <>
>=
<=
• Use aspas simples para indicar valores alfanuméricos
Select Id_Paciente Idade Sexo
Consultas básicas em SQL
• Encontre Identificador, Idade, Sexo e Cidade
de todos pacientes.
SELECT Id_Paciente, Idade, Sexo, Cidade
FROM Pacientes
SELECT <Lista_Atributos>
FROM <Lista_tabelas>
[WHERE <Condições>]
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Consultas básicas em SQL
• Encontre Idade e Cidade de todos pacientes
com Idade menor que 17 anos.
SELECT Idade,Cidade
FROM Pacientes
WHERE Idade > 17
SELECT <Lista_Atributos>
FROM <Lista_tabelas>
[WHERE <Condições>]
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Consultas básicas em SQL
• Encontre Idade e Cidade de todos os pacientes do sexo feminino com Idade menor que 17 anos de idade.
SELECT Idade,Cidade
FROM Pacientes
WHERE Idade > 17 and Sexo = ‘F’
SELECT <Lista_Atributos>
FROM <Lista_tabelas>
[WHERE <Condições>]
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Junção - Consultar mais de uma tabela
• A junção de tabelas é representada na clausula
Where
Tabela1.Atributo_Junção= Tabela2. Atributo_Junção
• Exemplo:
Pacientes.Id_Paciente = Amostras.Id_Paciente
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Consultas básicas em SQL - Tabela Join
• Encontre o pais do paciente que possui a amostra com
identificador 2.
SELECT <Lista_Atributos>
FROM <Lista_tabelas>
[WHERE <Condições>]
SELECT Paciente.Pais
FROM Pacientes, Amostras
WHERE Amostras.Id_Amostra = 2 and
Pacientes.Id_Paciente = Amostras.Id_Paciente
Condição de junção
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Consultas básicas em SQL - Join
• Encontre o sexo do paciente, pais onde a amostra foi coletada e região do Genoma das sequências que possuem tamanho menor que 200 bp
SELECT Pacientes.Sexo, Amostras.Pais_Coleta, Sequencia.Regiao_Genoma
FROM Pacientes, Amostras, Sequencias
WHERE Sequencias.Tamanho > 200 and
Pacientes.Id_Paciente = Amostras.Id_Paciente and
Amostras.Id_Amostra = Sequencias.Id_Amostra
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Consultas básicas em SQL - Join
• Encontre o Sexo do paciente, pais de coleta da amostra e Região do Genoma das sequências cujo tamanho seja menor que 200 bp
SELECT P.Sexo, S.PaisOrigin, Se.Regiao_Genoma
FROM Pacientes P, Amostras S, Sequencias Se
WHERE Se.Tamanho > 200 and
P.Id_Paciente = S.Id_Paciente and
S.Id_Amostra = Se.Id_Amostra
P, S, Se
São os apelidos
das tabelas
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Consultas básicas em SQL – Order by
Como mudar a ordem dos dados que aparecem no
resultado de uma consulta?.
SELECT Idade,Cidade
FROM Pacientes
WHERE Idade > 17
ORDER BY Idade
Ordem numérica
SELECT Idade,Cidade
FROM Pacientes
WHERE Idade > 17
ORDER BY Cidade
Ordem alfabética
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Exercicíos - Consultas básicas em SQL
• Encontre Idade e Pais de todos pacientes do
sexo masculino.
SELECT Idade,Pais
FROM Pacientes
WHERE Sexo = ‘M’
SELECT <Lista_Atributos>
FROM <Lista_tabelas>
[WHERE <Condições>]
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Exercícios - Consultas básicas em SQL
• Encontre todas Sequencias (FASTA ) da região do
genoma chamada Pol e cujo Tamanho seja menor
que 200 bp SELECT Fasta
FROM Sequencias
WHERE Tamanho > 200 and
Regiao_Genoma = ‘Pol’
SELECT <Lista_Atributos>
FROM <Lista_tabelas>
[WHERE <Condições>]
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Exercícios - Consultas básicas em SQL
• Encontre a cidade e idade dos pacientes cujas amostras foram coletadas no dia 01/03/99, mostre o resultado em ordenado pela idade do paciente
SELECT Paciente.Cidade, Paciente.Idade
FROM Pacientes, Amostras
WHERE Amostras.Date = ‘01/03/99’ and
Pacientes.Id_Paciente =
Amostras.Id_Paciente
ORDER BY Pacientes.Idade
SELECT <Lista_Atributos>
FROM <Lista_tabelas>
[WHERE <Condições>]
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Remover dados das tabelas
• Comando:
Delete from Nome_Tabela
[Where <Condições>]
• Exemplo:Remove todos os dados da Tabela
Pacientes.Delete from Pacientes
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Atenção!! Sempre é perigoso
remover dados. Preste atenção nas
condições do comando “delete”.
• Exemplo:
Remove da Tabela Sequencias todas as sequências
com Tamanho > 200
Delete from Sequencias
where Tamanho > 200
Remover dados das tabelas
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Remover tabela do banco de dados
• Comando:
Drop Table Nome_Tabela
• Example:Remove a Tabela
Paciente.Drop Table Pacientes;
Atenção!! Sempre é perigoso remover dados.
Preste atenção nas condições do comando
“delete”.
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Remover tabela do banco de dados
• Ordem para remover as tabelas do
banco de dados:
A restrição de integridade não permite a
Remoção de dados usados por outras tabelas.
1) Drop Table Sequencias;
2) Drop Table Amostras;
3) Drop Table Pacientes;
FK_APFK_S_A
pacientes
Id_Paciente
Idade
Sexo
Cidade
Pais
INT8
INT2
CHAR(1)
VARCHAR(100)
varchar(100)
<pk>
amostras
Id_Amostras
Id_Paciente
Data
Pais_Coleta
Origem_Amostra
Int8
INT8
DATE
VARCHAR(100)
Varchar(100)
<pk>
<fk>
sequencias
Id_Sequencia
Id_Amostra
Regiao_Genoma
Tamanho
Fasta
INT8
Int8
VARCHAR(100)
INT2
TEXT
<pk>
<fk>
Data warehouse
Alguns Conceitos
• Características dos Sistemas Analíticos
• OLTP X OLAP
• Data Warehouse e Data Marts
• Bancos de Dados Dimensionais
• Terminologia
• Formas de Armazenamento
• Data Mining
• Tarefas Típicas
• Algoritmos
• Modelos
OLTP X OLAP
OLTP
• Mais freqüentes
• Detalhes
• Poucos dados
• Dados atuais
• Baixa complexidade
• Consistência microscópica
• CRM, ERP, Supply Chain
• Linhas e Colunas
OLAP
• Menos freqüentes
• Agrupamento
• Muitos dados
• Dados históricos
• Alta complexidade
• Consistência global
• MIS
• Dimensões e Fatos
Transformando dados em conhecimento
Network
Dados Informação Conhecimento
Transformando dados em conhecimento
Dados
Operacionais
Cubes
Data
Warehouse
Data Marts
ETLRelacionalProdução
BD Especial
O modelo dimensional
PRODUTO
produto_keyproduto_desctipocategoria
CLIENTE
cliente_keycódigo_clientenome
TEMPO
tempo_keydatamêsmês_desctrimestreano
LOJA
loja_keyloja_descloja_endereçovendedorcidadeestadoregião
FATO_VENDA
produto_keydata_venda_keyloja_keycliente_keyvalormargemcustoquantidade
• Chaves primárias• Hierarquias• Atributos descritivos
Mês
1 2 3 4 76 5
Pro
du
to
Cadeira
Suco
Cola
LeiteCreme
Sabonete
OS
N
Dimensões: Produto, Região, Tempo
Caminhos de Sumarização
Hieráquica
Produto Região Tempo
Indústria País Ano
Categoria Região Trimestre
Produto Cidade Mês Semana
Escritório Dia
Online Analytical Processing (OLAP)Exemplo
Processo de KDD
Armazenamento e
recuperação de dados
Cruzamento
Data Mining
• Data Warehouses / Data Marts – Oferecem fonte de dados e um conjunto de análise.
• Data mining
• Busca encontrar padrões novos/desconhecidos em um conjunto de dados
• Não é um DW, o Data mining pode ser usado em um DW
• Usa um conjunto de ferramentas estatístiva para encontrar e avaliar os padrões.
Data mining – Tipos de Análises
• Classificação
• Atribui elementos a classes
• Análise de riscos (Potencial bom pagador)
• Regressão
• Previsão de Taxas de seguros, clima/temperatura
• Segmentação
• Agrupa casos semelhantes
• Associação
• Busca relações entre os dados
• Previsão
• Análise de Desvio
• Identificação de fraudes
• Visualização
• Representação visual dos padrões
Ciclo da informação
Eficiência Gerencial
(planejamento,
controle,
comunicação e
tomada de decisão)
Coleta de dados
Armazenamento
Distribuição e o uso de
dados
Recuperação de dados
APLICAÇÕES DE BANCO DE DADOS EM BIOINFORMÁTICA
Pesquisas em HIV/AIDS
• Como modelar um vírus?
• Diferentes possibilidades de representação e
relacionamento entre os dados
Rambaut et al., Nature Reviews Genetics, 2004
• Portais com
informações
genéticas e
ferramentas
para análise de
dados
Aplicações em Bioinformática
• Bancos de dados especializados
• Microarray, plasmoDB
• Especialização dos bancos
– Protein Disease Database
– SWISS-2DPIdade
Aplicações em Bioinformática
• Integração de dados de bancos de dados públicos
• Importação de dados de diferentes fontes públicas
• Esquemas de integração
• Limitações
• Escopo de dados abrangem somente
seqüências genéticas e suas anotações
• Qualidade dos dados disponíveis
Aplicações em Bioinformática
Dicas para o seu projeto
Processo integrado
• Quanto maior a capacidade das tecnologias da informação
e da comunicação, maior a capacidade de inter-
relacionamentos e a capacidade de aprender e lucrar com
o compartilhamento da informação e do conhecimento.
• Tecnologia: comunicação e armazenamento dos dados,
das informações e dos conhecimentos como na integração
dos tomadores de decisão. ANGELONI, Maria Terezinha.2003
Ciclo de Vida de um projeto
Orçamentos não resistem a erros
• Tecnologia ágil
• cliente e desenvolvedor juntos
Ser realista
• Definir prioridades
Coleta de dados
• Definição de quais dados devem ser coletados.
• Avaliar se o dado é realmente importante
• Qual o objetivo da coleta desse dado?
• Em que tipo de análise o dado estará envolvido?
• Qual a viabilidade de coletá-lo?
• Com que qualidade/confiabilidade conseguiremos esse dado?
Coleta de dados
• Qual a representação natural do dado?
• Alfanumérica, Númerica
• Qual o tamanho do campo necessário para
armazenar o dado? Ex.: 100 caracteres
• Existe um padrão de medida/representação?
• Ex.: ºC, Km/h, m, cm, mm
Coleta de dados
• Quais regras envolvem esse dado?• Faixa de valores.
• Ex.: 0<x < 50
• Valores específicos. • Ex.: Dias da semana, Sexo,
• Dependência de outras informações
• Gravidez e licença maternidade só podem ser atribuídos em caso de Sexo feminino.
• Regras de negócio
• O exame deve ser coletado ate 24 horas após a internação.
• Existem exceções ?
• Qual a importância de avaliar tais regras?• Existe uma relação custo benefício favorável a validação das
regras?
Coleta de dados
• Qual o melhor formato para armazenar o
dado?
• Sexo
• (0 – feminino, 1 – masculino)
• (f – feminino, m – masculino)
• (feminino, masculino)
• Número de medicamentos em uso
• [0,10]
• [0,100]
• (nenhum, ate 2, entre 3 a 5, acima de 5)
Coleta de dados
• Idade ou data de nascimento?
• Endereço
• Campo para digitação com 200 caracteres,
• Campo para digitação de rua, bairro, cidade, estado, pais
• Uso do CEP
• Campo para seleção de bairro, cidade, estado, pais
Áreas para pesquisa
Áreas de pesquisa
• Criação de banco de dados para estudos
específicos
• Ontologias, modelagem de dados
• Banco de dados flexíveis
• Acompanham as modificações
• Estruturas para representação e análise de dados
• Data mining
• Armazenamento/integração de dados secundários
• Os resultados das análises integrados ao banco.
Áreas de pesquisa
• Integração de bases de dados existentes
• Esquemas de integração de dados
• Data warehouse
• Banco de dados distribuídos
• Consultas distribuídas
• Transações distribuídas
• Procedência de dados
• Acompanhamento do dado e suas transformações
• Rastrear a informação
Migração de dados - procedência
BD2
PA
PC
PB
PD
BD3 BD4
BD6
BD1
BD5
Ambiente integrado para descoberta de conhecimento em Biologia
Computação de alto-desempenho
Seleção de dados:
OLAP e Relacional
Métricas:
Vetor de características
Transformação de dados
Procedimento de
projeto
Processos de
mining
Núcleo do
mining
Leitura de
dadosDados primários
Base de dados relacional
Base de dados
de
Objetos complexos
Mundo Real
Ligação entre dados
primários e
objetos complexos
Conceito:
Subconjunto de
instâncias
Conclusão
• Trate com cuidado do que é essencial
• Os Dados
• Softwares mudam e são trocados
• Os dados permanecem
• Desafios
• Representação
• Armazenamento
• Análise
• Evolução
• Necessita de um profissional com:
• Conhecimentos sólidos
• E mais algumas habilidades…
Entender o que é trabalhar em equipe
Com Capacidade de Gestão
Construção do Euro túnel
Versátil
Bibliografia Básica
- ELMASRI, R. e NAVATHE, S.B. Sistemas de Banco de Dados, Fundamentos e Aplicações. Rio de Janeiro: Editora LTC, 2002.
- Ramakrishnan R., Database Management Systems, WCB McGraw-Hill, 2002.- FERREIRA, J. E. e FINGER, M. Controle de Concorrência e Distribuição de
Dados: a teoria clássica, suas limitações e extensões modernas. São Paulo: Escola Brasileira de Computação, 2001.
- EfraimTurban, R. Rainer Jr, Richard Potter, Introdução a Sistemas de Informação – Uma abordagem gerencial. Campus – 2007
- Fiddy, S., et al., An integrated system for genetic analysis. BMC Bioinformatics, 2006. 7: p. 210.
- Shah, S.P., et al., Atlas - a data warehouse for integrative bioinformatics. BMC Bioinformatics, 2005. 6: p. 34.
- Shafer, R.W., Rationale and uses of a public HIV drug-resistance database. J Infect Dis, 2006. 194 Suppl 1: p. S51-8.
- Lee, T.J., et al., BioWarehouse: a bioinformatics database warehouse toolkit.BMC Bioinformatics, 2006. 7: p. 170.
- Buneman, P., S. Khanna, and W.-c. Tan, Why and Where: A Characterization of Data Provenance. Proc. of the Intl. Conf. on Database Theory (ICDT), 2001: p. 316-330.
BANCO DE DADOS EM BIOINFORMÁTICA
Márcio K. Oikawa
UFSCar
moikawa@ufscar.br
top related