Prévia do material em texto
“Um processo de refinamento do esquema de
banco de dados, que procura:
Eliminar possíveis redundâncias (dados
repetidos em entidades)
Sanar problemas de dependências parciais entre
atributos e
Reduzir ao mínimo as anomalias de inclusão,
alteração e exclusão.” (Alvez 2014, p. 109)
SBGD
1. Conceito
Um sistema de gerenciamento de
banco de dados, ou SGBD, é um
software projetado para auxiliar a
manutenção e utilização de vastos
conjuntos de dados.
4. 2FN
A entidade se encontra na segunda forma
normal se, além de estar na primeira, todos os
seus atributos forem totalmente dependentes
da chave primária composta.
Tendo como base o nosso exemplo, a entidade
Item possui chave primária composta, que é
constituída pelos atributos NumPedido e
CodProduto
Já os atributos Descricao e PrecoUnit não
dependem totalmente dessa chave, ao
contrário de Quantidade e ValorTotal
2. Normalização
Dependência funcional é representada
pela expressão X➔Y, em que X e Y são
subconjuntos de atributos de uma
relação qualquer
Y é dependente funcionalmente de X
Esquema de uma relação
Esquema de uma relação
1) MATRICULAALUNO ➔ {NOMEALUNO,
DATAMATRICULA}: o valor do atributo
MATRICULAALUNO determina o valor de outros dois
atributos: NOMEALUNO e DATAMATRICULA;
2) CODIGOCURSO ➔ NOMECURSO: o valor do atributo
CODIGOCURSO determina o valor do atributo
NOMECURSO;
3) CODIGODISCIPLINA ➔ NOMEDISCIPLINA: o
valor do atriburo CODIGODISCIPLINA determina o
valor do atributo NOMEDISCIPLINA;
4) {MATRICULAALUNO, CODIGOCURSO,
CODIGODISCIPLINA} ➔ NOTAPROVA: a combinação
de valores dos atributos MATRICULAALUNO,
CODIGOCURSO E CODIGODISCIPLINA determina o
valor do atributo NOTAPROVA.
Conceito
Exemplo de pedido:
Atributo
número pedido, nome do cliente, endereço cliente
(rua, bairro, cidade e estado), código do produto,
descrição do produto, quantidade a ser vendida, nome
do vendedor, preço unitário produto, valor total do
item, valor pedido
Exemplo de tabela com dados não normalizados
Base para o estudo das formas normais
3. 1FN
Esquema da entidade pedido
Os atributos que se repetem são removidos.
Nesse caso, são: CodProduto, Descricao,
Quantidade, PrecoUnit e ValorTotal
Aplicação da 1FN
Fazendo essa decomposição, chega-se a duas
entidades: uma para a ficha de pedido e outra
para os produtos que constam nela
Fazendo essa decomposição, chega-se a duas
entidades: uma para a ficha de pedido e outra
para os produtos que constam nela
Uma vez que um pedido pode conter vários
produtos, existe então uma relação 1:N (um-
para-muitos)
A chave primária da entidade Pedido é o
número do pedido, que é único para cada
registro
Já́ para a entidade Item, há uma chave
primária formada pelo número do pedido e o
código do produto
Relacionamento pedido x item do pedido:
Aplicação da 2FN
Relacionamentos pedido x item e item x produto
5. 3FN
É preciso que ela já esteja na segunda e não
possua nenhum atributo dependente de outro
que não faça parte da chave primária
No exemplo de pedido, existem atributos que
identificam um cliente (nome do cliente e
endereço completo) e um vendedor (nome do
vendedor)
Os dados dos atributos NomeCliente,
EndCliente, CidCliente e UFCliente são
dependentes de CodCliente
É possível criar outra entidade, que pode ser
denominada de Cliente
Da mesma forma, NomeVendedor é
dependente de CodVendedor
6. 4FN
As entidades se encontram normalizadas na 3FN
Pode ocorrer de uma entidade conter um ou mais
fatos multivalorados
Tabela da relação de fornecedores, produtos e clientes
Relações estabelecidas 4FN
Aplicação da 3FN
Diagrama de entidade-relacionamento final
após normalização
7. 5FN
Uma entidade está na 5FN se, estando na
4FN, não for possível reconstruir
as informações originais a partir do conteúdo
dos outros registros menores
Exemplo: sistema de uma loja de materiais
elétricos (como fios, fusíveis, lâmpadas etc.),
e “padrões de entrada do consumidor”. Esses
padrões são um tipo de produto, mas formado
por um poste de concreto, uma caixa de
medidor, “bengala” (conduíte com uma das
extremidades curva) etc. Assim, quando
houver uma venda
de padrão, o sistema deve baixar o estoque
de cada um dos seus componentes. Cada um
desses componentes pode ser comprado pela
loja individualmente, o que significa que eles
podem constar em vários pedidos de compra
Junção das entidades Fornecedor, Produto e
Pedido com base no número do pedido
Junção das entidades Fornecedor, Produto e
Pedido com base no código do fornecedor
ENTIDADES
8. Tipos de banco de dados e
os principais SGBDs utilizados
Coleções de relações na prática assumem a
forma de tabelas de registros
Representa os dados e os relacionamentos
existentes entre eles por meio de uma
coleção de tabelas
Suporta uma pequena coleção fixa de tipos de
dados (por exemplo: inteiros, datas, strings),
entretanto, em muitos domínios de aplicação,
tipos muito mais complexos precisam ser
manipulados
Banco de dados relacional – SGBDR
Alternativa aos sistemas relacionais
Destina-se aos domínios de aplicação em que
os objetos complexos desempenham um papel
fundamental
Estratégia influenciada pelas linguagens de
programação orientadas a objetos
Pode ser entendida como uma tentativa de
acrescentar funcionalidade de SGBD em um
ambiente de linguagem de programação
Banco de Dados Orientado a Objetos –
SGBDOO Arquitetura básica de um SGBD
e aspectos operacionais Banco de dados:
Um conjunto de dados relacionados
Sistema de Gerenciamento de Banco de
Dados (SGBD):
Uma coleção de ferramentas e programas
que permite aos usuários a criação e
manutenção do próprio banco de dados
Arquitetura simplificada
Funções de um SGBD
Definição: Especificação dos tipos de dados,
das estruturas das tabelas e das restrições
que devem ser importas aos dados que serão
armazenados.
Construção: Processo de acumular os dados
num meio de armazenamento totalmente
controlado pelo SGBD.
Manipulação: Operações como atualização do
banco de dados (inclusão, exclusão e
alteração de registros) e extração de dados,
como consultas e relatórios impressos.
Estrutura do BD
Definição: Especificação dos tipos de dados, das
estruturas das tabelas e das restrições que devem ser
importas aos dados que serão armazenados.
Construção: Processo de acumular os dados num meio de
armazenamento totalmente controlado pelo SGBD.
Manipulação: Operações como atualização do banco de
dados (inclusão, exclusão e alteração de registros) e
extração de dados, como consultas e relatórios impressos.
Conforme Silberschatz et al. (2006, p. 525) salienta, “a
arquitetura de um BD é bastante influenciada pelo sistema
de computador subjacente em que o sistema de dados é
executado, principalmente por aspectos como operação
em: rede, paralelismo e distribuição”
Aspectos inerentes à execução dos sistemas
Rede: As redes de computadores permitem
que algumas tarefas sejam executadas em um
sistema servidor e outras sejam executadas
em sistemas cliente. Essa divisão de trabalho
tem levado a um sistema de banco de dados
cliente-servidor.
Paralelismo: O processamento paralelo
dentro de um sistema de computador permite
que as atividades do sistema de banco de
dados sejam agilizadas, permitindo resposta
mais rápida às transações, além de mais
transações por segundo. A necessidade de
processamento de consulta em paralelo levou
a sistemas de banco de dados paralelos.
Distribuição: A distribuição de dados pelos
sites em uma organização permite que esses
dados residam onde são gerados ou onde são
mais necessários, mas ainda precisem ser
acessados a partir de outros sites e de
outros departamentos. Os sistemas de
bancos de dados distribuídos tratam de dados
distribuídos geográfica e administrativamente,
espalhados por diversos sistemas de bancos
de dados.
Arquitetura de duas e três camadas
Estrutura geral de um sistema baseado naplataforma cliente-servidor
Um sistema de computador centralizado
1. Visão geral de BD
O desempenho de um SGBD em consultas
feitas comumente em operações de
atualização típicas é a medida definitiva do
projeto de um banco de dados
Um administrador de banco de dados pode
melhorar o desempenho medindo o tamanho
do pool de buffers ou a frequência dos
pontos de verificação ou adicionando
hardware para eliminar tais gargalos
Utiliza as terminologias: campos de
registro, registros (linhas) e tabela de dados
O campo de um registro é a menor unidade
destinada ao armazenamento de valores
existente em um arquivo ou tabela de um
banco de dados e que pode ser referenciado
por um programa aplicativo
Os tipos de dados básicos: caractere,
numérico (com ou sem casas decimais), data,
hora e lógico (valores do tipo verdadeiro ou
falso)
Adm de SGBD
2. Tarefas DBA
O DBA é responsável por autorizar o
acesso ao banco de dados, coordenar e
monitorar seu uso e adquirir recursos de
software e hardware conforme a
necessidade
Questões de utilização do sistema:
segurança e tempo de resposta,
dependendo do tamanho do banco de
dados e da organização. O DBA é
auxiliado por uma equipe
Projeto dos esquemas conceitual e físico:
interagir com os usuários do sistema para
compreender quais dados devem ser
armazenados no SGBD e como eles serão
mais provavelmente utilizados
Segurança e autorização: assegurar que o
acesso não autorizado aos dados não seja
permitido
Disponibilidade de dados e recuperação de
falhas: deve tomar medidas para assegurar
que, caso o sistema falhe, os usuários
possam continuar a acessar o máximo
possível dos dados não corrompidos
O Administrador
O DBA tem conta de usuário especial, o
usuário efetua o login para acessar
O SGBD, então, grava em um arquivo,
denominado log do sistema, qualquer
operação efetuada pelo usuário, como
consulta, edição de dados ou inclusão de
registros
Esse recurso facilita a auditoria do sistema,
no caso de haver alguma suspeita de
adulteração das informações de forma
indevida
Criação de usuários
Todo usuário é criado baseado no princípio
do privilégio mínimo, o que implica acesso
restrito
Uma conta de usuário tem uma série de
atributos que pode ser definida no momento
de sua criação ou alterada posteriormente
Comando CREATE USER pelo administrador
de banco de dados
O banco de dados utiliza o conceito de
conjunto de privilégios mínimos ao criar um
usuário
Parte do princípio de que o usuário é criado,
mas não tem privilégio para executar
nenhuma tarefa até receber os privilégios
necessários para isso
Criação de users e definições de papéis
3. Aspectos de adm. dos SGDBs
A segurança diz respeito a muitos
aspectos da proteção de um sistema
contra o uso não autorizado, incluindo
autenticação de usuários, criptografia de
informação, controle de acesso, políticas
de firewall e detecção de intrusão
A segurança de um sistema de banco de
dados está relacionada diretamente à sua
integridade e proteção das informações
armazenadas nele
Um problema de segurança comum aos
sistemas de computação é impedir que
pessoas não autorizadas acessem o
sistema, seja para obter informações, seja
para fazer mudanças maliciosas em uma
parte do BD
Elmasri e Navathe (2011) destacam quatro
medidas: controle de acesso, controle de
inferência, controle de fluxo e criptografia
de dados. O responsável por esses
controles é o DBA
Dados Sensíveis
Sensibilidade dos dados: a medida da
importância atribuída aos dados por seu
proprietário, com a finalidade de indicar sua
necessidade de proteção
Alguns BD contêm apenas dados
confidenciais, enquanto outros podem não
conter qualquer dado confidencial
O tratamento do BD está relacionado ao
controle de acesso
Gráfico da hierarquia de tabelas,
registros e campos:
Exemplo de definição de tabela de
dados em SQL
Um registro (ou linhas) é o conjunto de
campos que possuem valores de uma tabela
Cada linha da tabela representa um
registro. Nesse sentido, a tabela como um
todo se resume a um agrupamento de
linhas (registros) que são divididas em
colunas (campos)
Tabelas de dados: conjunto ordenado de
registros/linhas. Cada registro possui o
mesmo número de colunas (campos)
Um banco de dados pode ser formado por
uma ou mais tabelas, e cada uma deve ser
definida de tal forma que somente possa
conter um tipo de informação
As aplicações normalmente utilizam várias
tabelas do banco de dados. Exemplo: na
geração de um relatório de vendas no mês
ou o boletim escolar dos alunos
O banco de dados relacionais permite o
gerenciamento de privilégios dos usuários
em dois níveis
Privilégios
Para atribuir privilégios de inclusão:
comando GRANT
Para atribuir privilégio ao usuário criado:
comando USERWPA
Para remover/revogar os privilégios
atribuídos: comando REVOKE
Para remover privilégio atribuído ao
usuário: comando USERWPA
Em sistemas padrão SQL, a segurança é
baseada no conceito de direitos ou
privilégios: os usuários têm ou não
permissão para executar determinadas
operações. Atualmente, os privilégios são
assim definidos:
Sintonização do BD: as necessidades dos
usuários evoluem, o DBA é responsável
por modificar o banco de dados para
assegurar desempenho adequado
conforme os requisitos sofrem alterações
Módulos componentes de um SGBD e suas
interações
1. Conceito
Conforme Alves (2014, p. 148): “[...] [há
uma] forma de preservação e de
recuperação de informações ou do banco de
dados inteiro. Isso significa que o
administrador deve fazer uso de recursos
oferecidos pelo próprio servidor de banco
de dados ou utilizar outro meio que
possibilite ter cópias do banco de dados”
Não é possível deixar a critério de uma
única pessoa a execução da cópia de
segurança
O gerenciador de recuperação é um dos
componentes do SGBD mais difíceis de se
projetar e implementar, pois é chamado
durante as falhas do sistema e precisa
tratar com uma variedade de estados do
banco de dados (Ramakrishnan, 2008)
É aconselhável que as operações de backup
e restore sejam executadas quando não
houver usuários acessando o banco de
dados
Utilizar o método de cópia automática
quando for oferecido
Seg. e Recup.
Base de dados
2. Recuperação de Banco de
Dados e Segurança
O ARIES é um algoritmo de recuperação
projetado para trabalhar com uma
estratégia de roubo, sem imposição. Quando
o gerenciador de recuperação é ativado,
após uma falha, o reinício ocorre em três
fases
Algoritmo de recuperação ARIES
Discos rígidos espelhados -
arquitetura RAID
RAID é sigla de Redundant Array
Inexpensive/Independent Disk (Conjunto
Redundante de Discos Econômicos/
Independentes)
Maneira um pouco mais dispendiosa, porém
mais segura e que não depende de terceiros.
Em ambientes cliente/servidor que rodam
aplicações de missão crítica, é possível
encontrar máquinas inteiras espelhadas
Arquitetura (hardware e software) permite
que, se uma delas falhar, a outra entre em
substituição, automaticamente, sem que os
usuários percebam qualquer anomalia
Discos rígidos espelhados -
arquitetura RAID
Para Ramakrishnan (2008, p. 497), a
recuperação de mídia é baseada em fazer
periodicamente uma cópia do banco de
dados
“Como copiar um objeto de banco de
dados grande, por exemplo, um arquivo,
pode demorar bastante e o SGBD
precisa continuar com suas operações
nesse meio- tempo, a criação de uma
cópia é tratada de maneira semelhante a
usar um ponto de verificação fuzzy”
3. Controle de concorrência
Controle de concorrência é a aplicação de
diversas técnicas que são usadas para
garantir a propriedade de não interferência
ou isolamento das transações executadas
simultaneamente
São utilizados o que o autor define como
protocolos de controle de concorrência, ou
seja, um conjunto de regras que garante a
serialização
4. Performance: conhecer
técnicas de otimização de
consultas
Paraexplicitar os exemplos de consulta,
Ramakrishnan (2008) utiliza o esquema a
seguir:
O autor explica que as consultas SQL são
otimizadas pela sua decomposição em um
conjunto de unidades menores, chamadas
blocos
A otimização de um único bloco pode ser
compreendida em termos de planos
constituídos de operadores da álgebra
relacional. A versão SQL dessa consulta
aparece a seguir:
A consulta tem dois blocos, e o bloco
aninhado está representado a seguir.
O otimizador examina os catálogos do
sistema para recuperar informações sobre
os tipos e comprimentos dos campos, as
estatísticas acerca das relações
referenciadas e os caminhos de acesso
(índices)
disponíveis para elas
Depois, o otimizador considera cada bloco
de consulta e escolhe um plano de avaliação
de consulta para esse bloco
5. Performance: conhecer
técnicas de otimização de
consultas (índices)
Ramakrishnan (2008) defende que os
índices podem ser utilizados de várias
maneiras e levarem a planos
significativamente mais rápidos do que
quaisquer outros que não os utilize
Percorre a estrutura da árvore do índice
para localizar os registros por comparação,
extraindo somente aqueles registros
necessários para satisfazerem os critérios
passados pela consulta
Antes de tomar qualquer decisão, o
otimizador de consultas, componente
responsável pela análise do melhor plano de
execução da consulta, determina qual
método será mais eficiente para recuperar
os dados
São apresentadas duas estratégias de
recuperação:
Primeira: se houver dano extensivo a uma
grande parte do banco de dados devido à
falha catastrófica, como uma falha de
disco, o método de recuperação restaura
uma cópia antiga do banco de dados que
teve backup para o arquivamento e
reconstrói um estado mais recente,
reaplicando ou refazendo as operações
das transações confirmadas do log em
backup, até o momento da falha (Elmasri;
Navathe, 2011)
Segunda: quando o banco de dados no
disco não está danificado fisicamente e há
uma falha não catastrófica, a estratégia
de recuperação é identificar quaisquer
mudanças que possam causar uma
inconsistência no banco de dados. Por
exemplo: uma transação que atualizou
alguns itens do banco de dados no disco,
mas não confirmou as necessidades de ter
suas mudanças revertidas ao desfazer
suas operações de gravação (Elmasri;
Navathe, 2011)
Para Elmasri e Navathe (2011), o protocolo
de bloqueio em duas fases “emprega a
técnica de bloqueio de itens de dados para
impedir que múltiplas transações acessem
os itens ao mesmo tempo”. De acordo com
os autores, os protocolos de bloqueio são
utilizados na maioria dos SGBDs
comerciais
Ramakrishnan (2008, p. 444) defende que
“bloqueio é um pequeno objeto de controle
associado a um objeto do banco de dados”
Para ele, o protocolo de bloqueio “é um
conjunto de regras a serem seguidas por
transação (e impostas pelo SGBD) para
garantir que, mesmo intercalando as ações
de várias transações, o resultado seja
idêntico à execução de todas as transações
em alguma ordem serial”
O autor especifica que diferentes
protocolos de bloqueio usam diferentes
tipos de bloqueios, como bloqueios
compartilhados ou exclusivos
(Ramakrishnan, 2008)
Na visão de Ramakrishnan (2008), há
outro fator que afeta o controle de
concorrência, a granularidade dos itens de
dados, ou seja, parte do banco de dados que
um item de dados representa
Um item de banco de dados é variável, pois
pode ser pequeno ou grande, tal como um
dos seguintes itens:
“Um registro de banco de dados
Um valor de campo de um registro de
banco de dados
Um bloco de disco Um arquivo inteiro
Um banco de dados
inteiro” (Ramakrishnan, 2008, p. 497)
1. Conceito
O data warehouse oferece armazenamento,
funcionalidades e responsividade para as
consultas, além das capacidades dos bancos
de dados orientados para a transação
É projetado exatamente para dar suporte à
extração, ao processamento e à
apresentação eficiente para fins analíticos e
de tomada de decisão
Contém uma quantidade muito grande de
dados de várias fontes
Fontes que podem incluir bancos de dados
de diferentes modelos de dados e às vezes
arquivos adquiridos de sistemas e
plataformas independentes
Data Warehouse
Definições das aplicações p/ uso do DW
2.Modelagem de dados p/ DW
Para modelagem de dados, de acordo com
Elsmari e Navathe (2011), deve ser levada
em consideração a tipologia
Em modelos multidimensionais, ocorre o
relacionamento dos dados em matrizes
multidimensionais. Essas matrizes são
chamadas de cubo de dados e podem ter
mais de três dimensões, sendo chamadas de
hipercubo
Utilizando como exemplo uma planilha de
vendas regionais por produto, para
determinado período, os produtos poderiam
ser mostrados como linhas, e as receitas de
venda para cada região compreenderiam as
colunas
A figura abaixo mostra essa organização,
que é uma planilha-padrão de matriz
bidimensional
Ao acrescentar uma dimensão de tempo,
como os trimestres fiscais de uma
organização, produz-se uma matriz
tridimensional, como na figura ao abaixo:
3.Projeto de DW
Para a construção de um data warehouse,
segundo Elsmari e Navathe (2011), os
responsáveis devem ter uma visão ampla e
antecipada de seu uso
Não existe um meio de antecipar todas as
consultas ou análises possíveis durante a
fase do projeto
O projeto deve aceitar especificamente a
consulta ocasional, ou seja, acessar dados
com qualquer combinação significativa de
valores para os atributos nas tabelas de
dimensão ou fatos
Etapas de aquisição de dados de DW
Armazenamento de dados de acordo com o
modelo de dados do armazém
Criação e manutenção das estruturas de
dados exigidas
Criação e manutenção dos caminhos de
acesso apropriados
Fornecimento de dados variáveis no tempo
à medida que novos dados são incluídos
Suporte para atualização dos dados do data
warehouse
Atualização dos dados
Eliminação dos dados
Processos de armazenamento de dados
Projeção de uso
O ajuste de modelo de dados
Características das fontes disponíveis
Projeto do componente de metadados
Projeto de componente modular
Projeto de facilidade de gerenciamento de mudança
Considerações de arquitetura distribuída e paralela
Elementos p/ o projeto do DW
4.Ferramentas de DW
Visão conceitual multidimensional
Dimensionalidade genérica
Dimensões e níveis de agregação
ilimitados
Operações e restritas entre dimensões
Tratamento dinâmico de matriz esparsa
Arquitetura cliente-servidor
Suporte para múltiplos usuários
Arquitetura cliente-servidor
Acessibilidade
Transparência
Manipulação intuitiva de dados
Desempenho de relatório consistente
Recurso de relatório flexível
Data warehouse
Características diferenciadoras do DW
Data warehouses em nível
empresarial
São imensos projetos que exigem
investimento maciço de tempo e
recursos.
Data warehouses
virtuais
Oferecem visões de bancos de
dados operacionais que são
materializadas para acesso
eficiente.
Data marts
Em geral, são voltados para um
subconjunto da organização, como
um departamento, e possuem um
foco mais estreito.
5.Servidores Olap
De acordo com Ramakrishnan (2008, p.
704), “as aplicações de Olap são dominadas
por consultas ad hoc complexas. Em termos
de SQL, essas consultas envolvem
operadores de agrupamento e agregação”
A maneira natural de pensar sobre
consultas Olap típicas é em termos de um
modelo de dados multidimensional. Nele, o
foco é e uma coleção de medidas numéricas,
em que cada medida depende de um
conjunto de dimensões
Exemplo baseado em dados de vendas:
O atributo de medida do exemplo é vendas
As dimensões são produto, local e tempo
Identificamos um produto por um
identificador único idp e, analogamente,
identificamos o local por idloc e o tempo
por idtempo
Consideramos as informações de vendas
como organizadas em um array
tridimensional Vendas, como mostra a figuraa seguir
Vendas: um conjunto de dados
multidimensional:
Os sistemas Olap realmente armazenam
dados em um array multidimensional
(implementado sem a suposição usual de
linguagem de programação de que o array
inteiro cabe na memória)
Alguns dos atributos de uma dimensão
descrevem a posição de um valor de
dimensão com relação a essa hierarquia de
valores de dimensão subjacente
As hierarquias de produto, local e tempo de
nosso exemplo aparecem no nível de
atributo, na figura a seguir
As informações sobre dimensões também
podem ser representadas como uma
coleção de relações
OLAP -
processamento
analítico on-line
É um termo usado para descrever a análise de dados
complexos do data warehouse. Nas mão de ferramentas Olap
utilizam capacidades de computação distribuída para a
análises que exigem mais armazenamento e poder de
processamento do que pode estar localizada econômica e
eficientemente em um desktop individual.
DSS - sistemas de
apoio à decisão
Também conhecidos como sistemas de informações executivas.
Não confunda com sistemas de integração empresarial. Ajudam
os principais tomadores de decisões de uma organização com
dados de nível mais alto em decisões complexas e importantes.
Mineração de dados
É usada para descoberta do conhecimento, o processo de
procurar novo conhecimento imprevisto nos dados.
Estudaremos sobre este assinto na próxima aula.
1
Os dados precisam ser extraídos de várias fontes heterogêneas, por
exemplo, bando de dados ou outras entradas de dados, como aquelas que
contêm dados do mercado financeiro ou dados ambientais.
2
Os dados precisam ser formatados por coerência dentro do data warehouse.
Nomes, significados e domínios de dados de fontes não relacionadas
precisam ser reconciliados.
3
Os dados precisam ser limpos para garantir a validade. A limpeza de dados
é um processo complicado e complexo, que tem sido identificada como
componente que mais exige trabalho na construção do data warehouse.
4
Os dados precisam ser ajustados ao modelo de dados do armazém. Baixar
os dados de variáveis fontes. Devem ser instalados no modelo de dados no
data warehouse.
5
Os dados precisam ser carregados uma tarefa significativa. São necessárias
ferramentas de monitoramento para cargas, bem como métodos para
recuperação de cargas incompletas ou incorretas.
Fases de reinício da ARIES
1. Analizar Identifica as páginas sujas no pool de buffers (isto é,
alterações que não foram gravadas no disco)
2. Refazer
Repete todas as ações, partindo de um ponto apropriado no
log, e restaura o bano de dados para o estado em que ele
estava no momento da falha
3. Desfazer
Desfaz as ações das transações que não foram efetivadas
para que o banco de dados reflita a penas as ações das
transações efetivadas
Ações do DBA
Criação de conta
Essa ação cria conta e senha para um usuário
ou grupo de usuários para permitir acesso ao
SGBD
Concessão de privilégio Essa ação permite que o DBA conceda certos privilégios a determinas contas
Revogação de privilégio
Essa ação permite que o DBA conceda certos
privilégios a determinas contas revogue
(cancele) alguns privilégios que foram dados
anteriormente a certas contas
Atribuição de nível de
segurança
Essa ação consiste em atribuir contas do
usuário ao nível de liberação de segurança
apropriado
1. Conceito
De acordo com Ramakrishnan (2008, p.
737), data mining, ou mineração de dados,
consiste em encontrar tendências ou
padrões interessantes em grandes
conjuntos de dados para orientar decisões
sobre atividades futuras
Os padrões identificados por essa
ferramenta podem fornecer ao analista de
dados ideias úteis e inesperadas
Essas ideias podem ser mais bem
investigadas e podem ser aliadas a outras
ferramentas de apoio à decisão
Segundo Elmasri e Navathe (2011, p. 700),
os objetivos da mineração de dados estão
diretamente relacionados à descoberta do
conhecimento
A mineração de dados costuma ser
executada com objetivos finais ou aplicações
De uma perspectiva geral, esses objetivos
se encontram nas seguintes classes
Previsão
Identificação
Classificação
Otimização
Para Elmasri e Navathe (2011, p. 698), a
mineração de dados está diretamente
relacionada ao data warehousing.
O objetivo de um data warehouse é dar
suporte à tomada de decisão com dados
Para ajudar em certos tipos de decisões, a
mineração de dados pode ser usada com
data warehouse
Data Mining
2. Aplicações de mineração de dados
Marketing
As aplicações incluem análise de
comportamento do consumidor com base
nos padrões de compra
Finanças
As aplicações incluem análise de crédito
de clientes
Manufatura
As aplicações envolvem otimização de
recursos como máquinas
Saúde
Algumas aplicações são para descoberta
de padrões
3. Relações do processo de
mineração de dados
Relação do processo de mineração de
dados com descoberta de conhecimento,
estatística e inteligência computacional
Ramakrishnan (2008, p. 738) defende que
a mineração de dados “está relacionada à
subárea da estatística chamada análise de
dados exploratória, que tem objetivos
semelhantes e conta com medidas
estatísticas”
Relação com demais áreas de estudo, está
intimamente relacionada às subáreas da
inteligência artificial, chamadas descoberta
de conhecimento e aprendizado de máquina
As consultas podem ser realizadas em SQL,
usando-se álgebra relacional, com algumas
extensões
OLAP fornece idiomas de consulta de nível
mais alto, baseados no modelo de dados
multidimensional
Mineração de dados fornece as operações
de análise mais abstratas
4. Problemas
Os dados contêm ruído ou estão
incompletos
Se não forem entendidos e corrigidos, é
provável que muitos padrões interessantes
sejam perdidos e a confiabilidade dos
padrões detectados será́ baixa
O analista precisa decidir quais tipos de
algoritmos de mineração são necessários
Aplicá-los em um conjunto bem escolhido
de amostras de dados e variáveis, sintetizar
os resultados, aplicar outras ferramentas
de apoio à decisão e mineração e iterar o
processo
Fases de um processo de
descoberta de conhecimento
A mineração de dados como parte do processo
de descoberta do conhecimento é abordada por
Elmasri e Navathe (2011) e Ramakrishnan
(2008) como “a descoberta de conhecimento
nos bancos de dados, que recebe a abreviação
KDD (knowledge discovery in database); esse
processo é composto de algumas etapas”.
Data Mining Process
Deployment
Business Understanding
Data Understanding
Evaluation
Data Preparation
Modeling
Arka38/shutterstock
1. Obtenção e normalização de dados
Realizada a seleção dos dados, sobre itens
específicos ou categorias de itens
2. Limpeza de dados
O ruído e as exceções são removidos e são
realizadas correções ou eliminações de
registros incorretos
3. Seleção e transformação
A seleção e a transformação de dados podem
ser feitas para melhorar os dados com
informações adicionais e reduzir a quantidade
de dados
4. Mineração
Aplicados algoritmos de mineração de dados
para extrair padrões interessantes
5. Avaliação do conhecimento
Os padrões são apresentados para os
usuários finais. O resultado de qualquer etapa
no processo KDD pode nos levar de volta a
uma etapa anterior para refazermos o
processo com o novo conhecimento obtido
5.Tipos de conhecimentos
A palavra “conhecimento” pode assumir
diferentes aplicações. É interpretado de
forma livre como algo que envolve algum
grau de inteligência.
Para que chegue nesse patamar, é
necessário passar pela transformação de
dados brutos da informação para o
conhecimento.
Conhecimento dedutivo e indutivo
Conhecimento dedutivo deduz novas
informações sobre o dado indicado, com
base na aplicação de regras lógicas de
dedução previamente especificadas
Conhecimento indutivo descobre novas
regras e padrões com base nos dados
fornecidos
Conhecimentos descobertos na
mineração de dados
Regras de associação
Quando umacompradora adquire uma bolsa,
ela provavelmente compra sapatos
Hierarquia de classificação
Uma população pode ser dividida em cinco
faixas de possibilidade de crédito com base em
um histórico de transações de créditos
anteriores
Padrões dentro da série temporal
Dois produtos mostraram o mesmo padrão de
vendas no verão, mas um padrão diferente no
inverno
Padrões sequenciais
Se um paciente passou por uma cirurgia de
ponte de safena para artérias bloqueadas e um
aneurisma e, depois, desenvolveu ureia
sanguínea alta um ano após a cirurgia, ele
provavelmente sofrerá insuficiência renal nos
próximos 18 meses
Agrupamento
Uma população inteira de dados de transação
sobre uma doença pode ser dividida em grupos
com base na similaridade dos efeitos colaterais
produzidos
6.Fases do processo de
descoberta
Uma das principais tecnologias em
mineração de dados envolve a descoberta
de regras de associação. Muitos algoritmos
foram propostos para descobrir várias
formas de regras
O banco de dados é considerado uma
coleção de transações, cada uma
envolvendo um itemset (conjunto de itens)
Ramakrishnan (2008) indica que essa regra
deve ser lida como se segue: “Se uma
caneta é comprada em uma transação, é
provável que tinta também seja comprada
nessa transação”
Regra de associação:
Regras de associação
O processo de aprender um modelo que
descreve diferentes classes de dados
também é chamado de aprendizado
supervisionado. Utilizando o exemplo da
aplicação bancária, os clientes que solicitam
cartão de crédito podem ser classificados
com risco fraco, risco médio ou risco bom
Árvore de decisão da amostra para aplicações de cartão de
crédito
Classificação
Exemplo citado: se um paciente passou por
uma cirurgia de ponte de safena para
artérias bloqueadas e um aneurisma e,
depois, desenvolveu ureia sanguínea alta um
ano após a cirurgia, ele provavelmente
sofrerá insuficiência renal nos próximos 18
meses
A descoberta de padrões sequenciais é
baseada no conceito de uma sequência de
conjunto de itens
A detecção de padrões sequenciais é
equivalente à detecção de associações
entre eventos com certos relacionamentos
temporais
Uma sequência de ações ou eventos é
buscada
Padrões sequenciais
Exemplo citado: dois produtos mostraram o
mesmo padrão de vendas no verão, mas um
padrão diferente no inverno
Sequências de eventos: cada evento pode
ser certo tipo fixo de uma transação
A sequência desses eventos constitui uma
série temporal
A série temporal pode ser comparada
estabelecendo medidas de similaridade para
identificar as vendas que se comportam de
modo semelhante
Padrões dentro da série temporal
Exemplo citado: uma população inteira de
dados de transação sobre uma doença pode
ser dividida em grupos com base na
similaridade dos efeitos colaterais
produzidos
O objetivo do agrupamento é particionar um
conjunto de registros em grupos tais que os
registros dentro de um grupo sejam
similares entre si, e os registros
pertencentes a dois grupos diferentes
sejam diferentes
Cada grupo é chamado de agrupamento, e
cada registro pertence a exatamente um
agrupamento
Agrupamento
1. Conceito
De acordo com Alves (2014, p. 133), “como
uma coleção de diversos outros bancos de
dados que se encontram espalhados por
uma rede de computadores e são
logicamente inter-relacionados”
O autor destaca que, mesmo com as
diversas localizações físicas, um
gerenciamento centralizado permite um
acesso a partir
de qualquer estação cliente que esteja
conectada à rede
Elsmari e Navathe (2011, p. 590) definem
um BDD “como uma coleção de múltiplos
bancos de dados logicamente inter-
relacionados, distribuídos por uma rede de
computadores, e um sistema de
gerenciamento de banco de dados
distribuído – SGBDD”
O SGBDD é um sistema de software que
gerencia um BDD e torna a distribuição
transparente ao usuário
Para Ramakrishnan (2008, p. 605), em um
sistema de BDD, os dados são fisicamente
armazenados em vários sites, e cada site
normalmente é gerenciado por um sistema
de gerenciamento de banco de dados
(SGBD) capaz de executar
independentemente dos outros sites
A localização dos itens de dados e o grau de
autonomia dos sites individuais têm um
impacto significativo sobre todos os
aspectos do sistema, incluindo a otimização
e o processamento de consultas, o controle
de concorrência e a recuperação
BD Distribuído
2. Requisitos de BDD
Existem vários computadores, chamados
sites ou nós. Esses sites devem ser
conectados por uma rede
de computadores básica para transmitir
dados e comandos entre sites.
É essencial que as informações nos bancos
de dados sejam logicamente relacionadas
Não é necessário que todos os nós sejam
idênticos em relação aos dados, hardware e
software
Os sites podem estar localizados nas
proximidades físicas ou podem estar
distribuídos geograficamente por grandes
distâncias
Quanto ao Funcionamento
Transparência
A ideia geral de ocultar detalhes da
implementação dos usuários finais
Um sistema altamente transparente oferece
muita flexibilidade ao usuário final/
desenvolvedor, pois requer pouco ou
nenhum conhecimento dos detalhes básicos
de sua parte
Autonomia
Determina a extensão da qual os
nós individuais ou BDs em um BDD
conectado pode operar independentemente
Flexibilidade e manutenção personalizada
Relacionada à independência do
uso do modelo de dados e técnicas de
gerenciamento de transação entre os nós
Projeto de comunicação
Determina a extensão a qual cada nó pode
decidir sobre o compartilhamento de
informações com outros nós
Projeto de execução
Refere-se à independência dos usuários
para atuarem conforme desejarem
Confiabilidade e disponibilidade
Confiabilidade é a probabilidade de um
sistema estar funcionando (não parado) em
certo ponto no tempo
Disponibilidade é a probabilidade de que
o sistema esteja continuamente disponível
durante um intervalo de tempo
A confiabilidade e a disponibilidade do banco
de dados estão relacionadas aos defeitos,
aos erros e às falhas associadas a ele
Replicação dos dados
Duplicação total ou parcial do banco de
dados em mais de uma localização ou ponto
da rede
Útil para melhorar a disponibilidade dos
dados, uma vez que agiliza as consultas
globais na recuperação de dados
Controle de concorrência
Controle baseado em cópia distinta de item
de dado
Controle baseado em votação
Diferenças nos modelos de dados
Os BDs, em uma organização, vêm de
uma série de modelos de dados e até
mesmo
de arquivos. Isso exige um mecanismo
inteligente de processamento de
consultas, que possa relacionar
informações com base nos metadados
Diferenças nas linguagens de consulta
Até com o mesmo modelo de dados, as
linguagens e suas versões variam, e cada
sistema tem o próprio conjunto de tipos
de dados, operadores de comparação,
recursos de manipulação de strings etc.
Diferenças nas restrições
As facilidades de restrição para a
especificação e a implementação variam
de um sistema para outro. Existem
recursos que devem ser reconciliados
na construção de um esquema global
Heterogeneidade semântica
Ocorre quando existem diferenças no
significado, na interpretação e no uso
intencionado dos mesmos dados ou
dados relacionados. Obstáculo para
projeto de esquemas globais
Autonomia de projeto do sistema de
bancos de dados
Refere-se à liberdade de escolher
os parâmetros de projeto que
repercutem na complexidade do BDD
3. Vantagens x Desvantagens
Maior facilidade e flexibilidade de
desenvolvimento da aplicação
O desenvolvimento e a manutenção de
aplicações em sites geograficamente
distribuídos de uma organização são
facilitados devido à transparência da
distribuição e ao controle dos dados
Maior confiabilidade e disponibilidade
Isso é obtido pelo isolamento de falhas ao
seu site de origem, sem afetar os outros
bancos de dados conectados à rede
Maiordesempenho
Um SGBDD fragmenta o banco de
dados ao manter os dados mais próximos
de onde eles são mais necessários
Expansão mais fácil
Em um ambiente distribuído, a expansão
do sistema em matéria de inclusão de mais
dados, o aumento do tamanho do banco de
dados ou a inclusão de mais
processadores são muito mais fáceis
Vantagens de um BDD Desvantagens de um BDD
4. Arquitetura de um BDD
O modelo de BDD é fortemente baseado
na arquitetura cliente/servidor e utiliza
muito dos conceitos empregados nela
É comum falar em sistemas
multiprocessados quando se trata de BDDs
Arquitetura em rede de banco de dados
centralizado em um dos sites com acesso
distribuído
Arquitetura de BDD
Dois tipos de arquiteturas de sistemas multiprocessador
Arquitetura de memória
compartilhada (altamente acoplada)
Arquitetura de disco compartilhado
(livremente acoplada)
Múltiplos processadores
compartilham armazenamento
secundário (disco) e também
memória principal
Múltiplos processadores
compartilham armazenamento
(disco), mas cada um tem a própria
memória principal
Tony
@TonySilva