• Nenhum resultado encontrado

Organização da Informação

N/A
N/A
Protected

Academic year: 2021

Share "Organização da Informação"

Copied!
58
0
0

Texto

(1)

Organização da Informação

Mineração de Dados

(2)

• A descoberta de conhecimento em bases de dados é caracterizada como um processo composto por várias etapas operacionais

KDD – Knowledge Discovery in Databases

Dado Informação Conhecimento

Cadeia de símbolos sem semântica 2.345,20; 463,00; 291,12

Representa o dado processado com significado e contexto.

Exemplo:

Capacidade de endividamento mensal = (renda mensal – despesa mensal)/renda mensal

Padrão ou conjunto de padrões cuja formulação pode envolver e relacionar dados e informações.

Se Capacidade de endividamento mensal > 60%

Então crédito = SIM

(3)

KDD – Knowledge Discovery in Databases

(4)

• Etapas do Processo de KDD

1. Definição do tipo de conhecimento a descobrir => modelo de dados 2. Criação de um conjunto de dados alvo => seleção de dados onde a

descoberta deve ser realizada

3. Limpeza e pré-processamento => remoção de ruídos, escolha de estratégias para manipular dados ausentes, formatação de dados de forma a adequá-los a ferramenta de mineração

4. Redução e projeção de dados => redução do número de variáveis e ou instâncias a serem consideradas para o conjunto de dados

5. Mineração de dados => selecionar os métodos a serem usados para localizar os padrões, busca pelo melhor ajuste dos parâmetros do algoritmo

6. Interpretação dos resultados com possível retorno aos passos anteriores

7. Implantação do conhecimento descoberto

KDD – Knowledge Discovery in Databases

(5)

Organização da Informação

O que é um dado?

Como um dado é representado?

Como um dado é armazenado?

Como os dados são organizados?

Como os dados são acessados?

(6)

Dados

Arquivos Banco de

Dados

Organização da Informação

Base de todo o processo

(7)

Organização da Informação

• Para compreender com maior facilidade os

conceitos relativos ao armazenamento de dados é fundamental revisar alguns conceitos básicos referentes à teoria e terminologia de arquivos convencionais:

– Arquivo

– Registro Lógico – Campo

(8)

Organização da Informação

• Campo

– É a unidade básica de informação formadora de um registro. É a menor porção de um arquivo que pode ser referenciada por um programa.

– Cada campo possui NOME, TIPO e TAMANHO. Os tipos de campo mais comuns são:

NUMBER

Armazena somente números Pode conter casas decimais

Pode ser utilizado em operações matemáticas CHAR

Pode armazenar letras, números e caracteres especiais

DATE

Armazena datas

(9)

Organização da Informação

• Registro Lógico

– Um registro é constituído por um conjunto de campos contendo dados. Consiste na unidade de

armazenamento e recuperação da informação em um arquivo.

– Geralmente, os registros de um arquivo possuem um formato padrão (layout), definido pela seqüência, tipo e tamanho dos campos que o compõem.

(10)

Organização da Informação

• Arquivo

– Um arquivo é uma coleção de REGISTROS do

mesmo tipo, ou seja,referentes a um mesmo assunto e com o mesmo formato padrão (layout).

– Constitui o componente do sistema no qual são

armazenados os dados, que combinados através dos programas servem de base para a geração da

informação desejada pelo usuário, através de relatórios e consultas.

(11)

Organização da Informação

• Exemplo: Arquivo de Alunos

– Campos

• Matrícula number(5)

• Nome char(20)

• Sexo char(1)

• Nascimento date

Layout do registro

(12)

• Métodos para organização dos campos

– Comprimento fixo – Delimitadores

– Uso de tags

Organização da Informação

(13)

Organização da Informação

• Métodos para organizar os campos no registro:

– Comprimento fixo

00101Maria da Costa F12/02/1989 02301João Firmino Lima M07/06/1993 04501Pedro Pereira M20/04/1992 09360Cristina As Lemos F14/06/1993

– Delimitadores

00101;Maria da Costa;F;12/02/1989 02301;João Firmino Lima;M;07/06/1993 04501;Pedro Pereira;M;20/04/1992 09360;Cristina As Lemos;F;14/06/1993

– Uso de tags

matricula=00101;nome=Maria da Costa;sexo=F;nascimento=12/02/1989 matricula=02301;nome=João Firmino Lima;sexo=M;nascimento=07/06/1993 matricula=04501;nome=Pedro Pereira;sexo=M;nascimento=20/04/1992

(14)

• Campos com tamanho fixo

– Espaço alocado e não usado = desperdício

– Ruim para campos de dados com tamanho variável – Razoável quando comprimento fixo ou com pouca

variação

Organização da Informação

(15)

• Campos separados por delimitadores

– Caracteres especiais são inseridos ao final de cada campo

– Ex.: /, ;, #, etc...

– Espaços em branco geralmente não servem

• (ex: nome de pessoa, nome de rua => problema)

• Uso de “,” ou “;” pode ser problemático se estou armazenado texto.

• Facilidade de processamento

Organização da Informação

(16)

• Uso de uma tag do tipo "keyword=value“

– Vantagem:

• informação (semântica) - metadado

• Facilidade de identificação de conteúdo do arquivo

• Possibilidade de padronização (html, XML, ...) – Desvantagem:

• keywords ocupam espaço

Organização da Informação

(17)

• Chave Primária

– É o campo(s) que abriga valores que individualizam cada registro, de tal forma que dado um valor desse item é

identificável apenas um único registro do arquivo.

– Normalmente, a chave primária é formada por um único campo, mas pode ser formada por dois ou mais.

• Chave secundária:

– pode ser utilizada para buscas simultâneas por vários registros (todos os registros de mesma chave)

– Tipicamente, não identifica unicamente um registro

• Chave de Acesso:

– É a chave usada para identificar os registros desejados em uma operação de acesso a um arquivo.

Organização da Informação

(18)

Organização de Arquivos

• Tipos de Organização de Arquivos

– Heap File:

• arquivo com registros sem ordenação.

– Arquivo Seqüencial:

• arquivos com registros ordenados segundo uma chave.

– Arquivos indexados

• Arquivos com estrutura auxiliar (índice) – Arquivo de Acesso Direto: “hash files”.

• Arquivos sem ordenação mas com acesso direto a um registro.

(19)

• Heap File – Características

– Não existe nenhuma ordenação dos registros – Acesso sequencial

– Inserção de registros ao final do arquivo

– Como acessar um registro dado uma chave de busca?

Organização de Arquivos

(20)

Organização de Arquivos Organização de Arquivos

Número Nome Idade Salário

9 Marcela 23 1800

8 Isa 25 1600

3 Carlos 27 1500

4 Elias 24 1200

1 Ana 30 1000

7 Hilda 24 1000

5 Fábio 26 1300

6 Gilberto 31 1600

Heap File - Exemplo

(21)

• Arquivo Sequencial – Características:

– Os registros são gravados em ordem sequencial por suas respectivas chaves havendo pois, uma perfeita ordenação; tanto lógica quanto física.

– Acesso serial (seqüencial) – Acesso aleatório

• Chave de acesso chave de ordenação

– Pesquisa seqüencial

• Chave de acesso = chave de ordenação

– Pesquisa binária

Organização de Arquivos

(22)

Arquivo Seqüencial

Número Nome Idade Salário

1 Ana 30 1000

2 Bruno 35 2000

3 Carlos 27 1500

4 Elias 24 1200

5 Fábio 26 1300

6 Gilberto 31 1600

7 Hilda 24 1000

8 Isa 25 1600

Arquivo Sequencial - Exemplo

(23)

Inserção de um registro

• Alternativas:

– Arquivo S – arquivo seqüencial

– Arquivo T – arquivo de transações – Arquivo A – arquivo atualizado

– A = S e T intercalados - “Balance Line”

• Inserção ao final do arquivo e ponteiramento.

(24)

Número Nome Salário Elo

1 1000 Ana 1000 Ø

2 1050 Bruno 2000 Ø

3 1075 Carlos 1500 Ø

4 1300 Elias 1200 Ø

5 1325 Fábio 1300 Ø

6 1350 Gilberto 1600 Ø

7 1400 Hilda 1000 Ø

8 1440 Isa 1600 Ø

9 1480 Marcela 1800 Ø

100 101

100 1025 Zacarias 1000 Ø 101

100 1025 Zacarias 1000 Ø

101 1310 Bela 1600 Ø

100 1025 Zacarias 1000 102

101 1310 Bela 1600 Ø

100

101

102

Registro a ser inserido

Arquivo Sequencial

(25)

Arquivo Indexado

• Características:

– Necessidade de maior eficiência na localização de um registro num arquivo sequencial

– Um índice é formado por uma coleção de pares, com cada par associando uma chave de acesso a um endereço

– Um arquivo indexado possui áreas de extensão para a implementação da operação de inserção de registros

– O uso de arquivo indexado é mais eficiente, não havendo compromisso com a ordem física do arquivo

(26)

Índices

• Finalidade:

– Permitir a rápida determinação do endereço de um registro do arquivo, dado um argumento de pesquisa

– As entradas do índice são ordenadas pelo valor da chave de acesso, cada uma constituída por um par (chave, endereço), visando tornar mais eficiente o processo de busca e o

acesso serial ao arquivo

• Vantagem:

– Cada entrada do índice ocupa um espaço bem menor do que aquele ocupado pelos dados

– Pesquisa mais rápida

– Índice Denso: entradas para cada registro do arquivo

(27)

Índices

NÚMERO ENDERECO

1000 4

1050 6

1075 7

1300 9

1325 2

1350 3

1400 1

1480 5

Número Nome Idade Salário

1 1400 Isa 25 1600

2 1325 Hilda 24 1000

3 1350 Ana 30 1000

4 1000 Carlos 27 1500

5 1480 Bruno 35 2000

6 1050 Marcela 23 1800 7 1075 Gilberto 31 1600 8

9 1300 Fábio 26 1300

Organização de Arquivos

Índice

(28)

NUMERO ENDERECO

1075 1

1350 4

1480 7

Número Nome Idade Salário

1 1000 Ana 30 1000

2 1050 Bruno 35 2000

3 1075 Carlos 27 1500

4 1300 Elias 24 1200

5 1325 Fábio 26 1300

6 1350 Gilberto 31 1600

7 1400 Hilda 24 1000

8 1440 Isa 25 1600

9 1480 Marcela 23 1800 Índice

Esparso

Índices

(29)

• Arquivo indexado

– Acesso serial:

• Feito através dos índices, pois as entradas do índice são ordenadas pelo valor da chave de acesso.

• Geralmente o bloco do índice que contém a próxima entrada já está na memória, por ser o mesmo da

última acessada, requerendo-se apenas uma leitura do disco

– Acesso aleatório:

• Busca-se o argumento de pesquisa num índice, para obtenção do endereço desejado

Organização de Arquivos

(30)

• Inserção de um registro

– O registro é armazenado em qualquer endereço vago dentro da área alocada para o arquivo

– Seus pares (chave, endereço) são inseridos nos índices correspondentes

– Reorganização de índices

• Inclusões e exclusões de registros fazem com que o índice passe a ter um encadeamento grande entre seus membros ocasionando uma perda de performance, Neste caso o

melhor é recriar o índice.

Organização de Arquivos

(31)

• Arquivo Hash - Características:

– Consiste na gravação dos registros em determinados endereços, baseados no valor de uma chave primária (ao contrário do arquivo indexado)

– Utiliza uma função que calcula o endereço de um registro, eliminando a necessidade de um índice

– Objetivo principal é o mesmo do arquivo indexado, que é obter acesso aleatório eficiente

• Eficiente para operações com restrições de igualdade sobre o atributo da função.

• Sem vantagem para operações com restrição diferente de igualdade.

– Outra diferença: acesso sequencial (pela ordem da chave) não previsto.

Organização de Arquivos

(32)

• Endereçamento:

– Problema: encontrar uma função F que transforme o valor C da chave de um registro no endereço E

correspondente

– O resultado da função determina em que "bucket"

(Página/bloco) o registro será armazenado.

– H(K) = E: H é uma função, K é o valor de um atributo e E é a identificação do bucket.

– Se não houver espaço para armazenar o registro no bucket, então cria bucket de overflow.

Arquivo Direto

(33)

Arquivo Direto

Numero Nome Idade Salario Bucket

1050 Hilda 24 1000 0

1350 Gilberto 31 1600 0

1440 Isa 25 1600 0

Numero Nome Idade Salario Bucket

1000 Ana 30 1000 1

1075 Bruno 35 2000 1

1300 Elias 24 1200 1

1480 Marcela 23 1800 1

Numero Nome Idade Salario Bucket

1100 Carlos 27 1500 2

1400 Fabio 26 1300 2

(34)

• Tratamento de colisões:

– Colisão: ocorre quando é atribuído o mesmo endereço a dois diferentes valores da chave de acesso

– Havendo colisão, é necessário fazer o tratamento de colisões, escolhendo um novo endereço para o registro que a provocou.

Arquivo Direto

(35)

Sistemas Baseados em Arquivos

Visão geral no acesso ao dado

Sistema A Funcionário

Pagamento Cargo

Sistema B Funcionário

Projeto

(36)

Redundância e inconsistência de dados

Duplicação de informações em diferentes arquivos Alteração não é refletida para todos os arquivos

Isolamento dos dados

Dificuldade de acessar os dados Múltiplos formatos

Necessidade de escrever um novo programa para realizar cada nova tarefa

Segurança

Não existe mecanismos para criar visões nem para restringir o acesso

Problemas dos Sistemas Baseados em Arquivos

(37)

Sistemas Baseados em Banco de Dados

Quais são as grandes Funcionalidades da caixa preta ?

Visão geral no acesso ao dado

SGBD Dados

Sistema A

Sistema B

(38)

Sistema de Banco de Dados

• O que é:

Coleção de dados inter-relacionados

Conjunto dos programas para acessar os dados

Um ambiente que é conveniente e eficiente de usar

(39)

Sistema de Banco de Dados

Componentes:

1. Hardware

– Disco

2. Software

– SGBD – Isola os usuários dos detalhes de armazenamento e acesso

3. Dados

– Dados do usuário

– Metadados (Descrição do dado)

4. Usuários

– Programador de aplicações – Usuário final

(40)

Vantagens dos SGBDS

Redução de redundância

eliminação de múltiplas cópias do mesmo dado.

Eliminação de inconsistências

consequência direta do item anterior.

Compartilhamento dos dados acesso concorrente.

Segurança de acesso

O DBA define quem ( qual usuário ) pode acessar o quê(qual tabela)

Integridade referencial Independência de Dados

(41)

Independência de Dados

Processamento de arquivos

Qual é o formato do dado armazenado ? Onde o dado está localizado ?

Como o dado é acessado ?

Ex: Obter o salário médio dos engenheiros da empresa

Formato:

campo salário do tipo numérico com 6 bytes começando na posição 29 do registro

Localização:

arquivo “funcionário.dat” localizado no diretório “Func” do disco

“E” na máquina “X”

Acesso:

arquivo de organização sequencial ordenado pela matrícula.

(42)

Independência de Dados

#!/usr/bin/env perl

# Author:Luiz A Vivacqua

use 5.006;

my ($matricula, $nome, $cargo, $salario, $contador, $acumula_salario, $media);

open(INFO, "<", “E:\Func\funcionario.dat") or die "cant open the file";

while(chop($line=<INFO>))

{

($matricula, $nome, $cargo, $salario)=split (/;/,$line);

if ($cargo='engenheiro')

{

$contador = $contador+1;

$acumula_salario = $acumula_salario + $salario;

}

}

close(INFO);

$media = $acumula_salario/$contador;

(43)

Independência de Dados

É a habilidade de se usar o dado sem conhecer detalhes de sua representação.

Provê imunidade as aplicações com relação as

estruturas de armazenamento e métodos de acesso.

Independência Lógica

Se o dado é acessado através de uma visão, então mudanças no esquema conceitual não interferem com o funcionamento do programa.

Independência Física

Mudanças na estrutura de armazenamento tais como a criação de índices ou a localização dos arquivos físicos não interferem com o funcionamento do programa.

(44)

Independência de Dados

• Exemplo: Obter o salário médio dos engenheiros da empresa

Select AVG(salario) From funcionario where cargo=‘engenheiro’

(45)

Vantagem dos SGBDs

• Integridade Referencial

– Se uma relação R2 possui uma chave estrangeira FK equivalente a chave primária PK de uma relação R1, então todo valor de FK em R2 deve:

• Ser igual ao valor de PK em alguma tupla de R1, ou

• Ser totalmente nulo.

(46)

Vantagem dos SGBDs

Integridade Referencial

(47)

SGBD – Armazenamento de Dados

• Estruturas de Armazenamento

Lógica Física

Tablespace

Tabela

Índice

1

* 1

*

Arquivo

1 *

Tablespace define a localização de armazenamento para tabelas e índices Nível Lógico

Usar tablespaces diferentes para cada projeto.

Usar tablespaces diferentes para índice e tabela Nível Físico

(48)

Visão Macro do SGBD

Compilador DML

Requisições Compiladas

Requisições

“EMBEDED”

Requisições

“AD-HOC”

Otimizador

Requisições Otimizadas

Gerente em tempo de execução

Dados MetaDados LOG

Restrições de Segurança e Integridade Concorrência e

Recuperação De Falhas

Plano de Execução da Consulta

Armazenamento

(49)

Otimizador

Escolhe a melhor maneira de executar uma consulta.

Diversos planos de execução são gerados e escolhido aquele com o menor custo.

Custo estimado em função do número de operações de acesso a disco.

Segurança e Integridade

O SGBD deve monitorar e controlar o acesso aos objetos de forma a permitir que somente usuários autorizados tenham acesso.

Garantir que restrições de integridade (referencial,

Visão Macro do SGBD

(50)

Concorrência e Recuperação de Falhas

O sistema deve estar apto a detectar falhas e a recuperar o banco de dados ao seu último estado consistente

Ex: falta de energia

Controle de Concorrência

O SGBD deve permitir o acesso concorrente por múltiplos usuários de forma transparente e segura.

Visão Macro do SGBD

(51)

Projeto Físico

A Linguagem de Definição de Dados:

• Subcategoria de SQL que permite a criação e a alteração dos objetos do banco de dados.

• Normalmente, é de uso exclusivo do Administrador de Banco de Dados, contudo, seu uso fica sujeito à política da empresa.

• PRINCIPAIS COMANDOS DDL:

• CREATE, ALTER, DROP TABLE

• CREATE, DROP INDEX

• CREATE VIEW

(52)

Projeto Físico

Criando tabela

CREATE TABLE nome-da-tabela

( definição-da-coluna1 , definição-da-coluna2, ..., definição- da-colunaN )

ONDE

definição-da-coluna é definida como:

nome-da-coluna tipo-de-dado [CONSTRAINT]

(53)

Projeto Físico

PRINCIPAIS CONSTRAINTS:

Primary key – define a chave primária da tabela Foreign key – define uma chave estrangeira Unique – define que o valor da coluna é único

Not Null – especifica que a coluna não pode ter valores nulos Check – estabelece um domínio para os valores da coluna

Podem ser especificadas:

na definição da coluna

ao final da definição das colunas

(54)

Projeto Físico

SINTAXE:

ALTER TABLE nome-da-tabela ADD CONSTRAINT ou

DROP CONSTRAINT ou ADD COLUMN ou

DROP COLUMN ou

RENAME TO novo_nome_tabela ou

RENAME nome_da_coluna TO novo_nome_coluna

(55)

Acesso – Linguagem SQL

Comando SELECT - Sintaxe Geral

SELECT [ALL/DISTINCT] coluna1, coluna2, ..., colunaN FROM nome_tabela1, nome_tabela2, ..., nome_tabelaN [WHERE predicado]

[GROUP BY coluna1, coluna2, ..., colunaX]

[HAVING predicado]

[ORDER BY coluna1[asc/desc], coluna2[asc/desc], ..., colunaY[asc/desc]];

SQL - CONSULTAS

(56)

SQL - DML

Inserindo Dados:

INSERT - Sintaxe:

Insert into nome_tabela [( campo, ... , campo ) ] values ( valor1, ... , valorN );

Insert into nome_tabela [ ( campo, ... , campo ) ] Select ... From ... Where ... ;

(57)

SQL - DML

DELETE - Sintaxe:

Delete From nome_tabela [ Where predicado ] ;

(58)

SQL - DML

UPDATE - Sintaxe:

Update nome_tabela Set campo1 = valor ...,

[ campoN = valor ] [ Where predicado ] ;

Referências

Documentos relacionados

Assim, concordamos com Bianchetti (2008), para quem.. Uma educação que forme para a mudança social não pode ser medida como sendo de ‘boa ou má qualidade’, já que a sua

A versão reduzida do Questionário de Conhecimentos da Diabetes (Sousa, McIntyre, Martins &amp; Silva. 2015), foi desenvolvido com o objectivo de avaliar o

Este estágio de 8 semanas foi dividido numa primeira semana de aulas teóricas e teórico-práticas sobre temas cirúrgicos relevantes, do qual fez parte o curso

Realizar a manipulação, o armazenamento e o processamento dessa massa enorme de dados utilizando os bancos de dados relacionais se mostrou ineficiente, pois o

Estudos sobre privação de sono sugerem que neurônios da área pré-óptica lateral e do núcleo pré-óptico lateral se- jam também responsáveis pelos mecanismos que regulam o

Finally,  we  can  conclude  several  findings  from  our  research.  First,  productivity  is  the  most  important  determinant  for  internationalization  that 

Figure 8 shows the X-ray diffraction pattern of a well-passivated metallic powder and a partially oxidized uranium metallic powder.. Figure 7 - X-ray diffraction pattern of

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis