08 março, 2015

Dados Semi-Estruturados XML

O que são:
  • Dados Estruturados: são os dados contidos nos bancos de dados, com formato definido.
  • Dados Semiestruturados: são dados que permitem adicionar atributos mesmo depois de criados.
  • A diferença entre os dois então, é a forma de criação do schema.

Linguagens de Marcação

  • HTML foi a primeira. Trabalha com marcadores definidos. Cuida da forma como o dado é apresentado. A visualização é sempre fixada (ex. o dado é sempre em itálico).  
  • XML nasceu para tratar do do conteúdo dos dados, trouxe flexibilidade, e não existe nenhuma preocupação com a  apresentação dos dados. Possui uma estrutura hierárquica. 

Utilização da XML

  • Busca de dados na web
  • Troca de dados
  • Catálogos
  • Automação de grandes redes (bancos, suprimentos, etc.)

Linguagens para manipular XML

  • Xpath: trabalha através de grafos, para saber o caminho percorrido
  • Xquery: voltada para recuperar o dados
  • XSL: definir o estilo que o dados serão exibidos

Conceitos de XML

  • Documento bem formado: ordem de abertura e fechamento das tags
  • Documento válido: de acordo com o esquema definido

DTD (Document Type Description) 


Contém as regras para elaboração do XML. Define que um XML pode conter, a ordem, obrigatoriedade, cardinalidade (número de vezes que cada valor ocorre) e unicidade (se possui valor único ou não). Pode estar dentro ou fora do arquivo XML.

Declarações contidas em uma DTD

  • ELEMENT: especifica um elemento do XML
  • ATTLIST: declara uma lista de atributos associados a um elemento e o valores possiveis
  • ENTITY: usado para declarar uma espécie de alias dentro do doc.
  • NOTATION: usado para passar dados sobre impressora, ou a forma de impressão do doc.

Descrição de cada declaração


Tag ELEMENT

<!ELEMENT S Nome S EspecificacaoConteudo S ?>
  • Nome - nome do elemento
  • EspecificaçãoConteudo pode ser:
    • EMPTY - não possui nenhum dado no elemento
    • ANY - pode ser vazio ou não
    • mixed - pode ter alguma informação dentro dele ou alguns filhos
    • children - subdivide-se em outros elementos
  • ? (Cardinalidade) pode ser
    • ? -> No máximo uma ocorrência
    • * -> Nenhuma ou diversas ocorrências
    • + -> No mínimo uma ocorrência

Simbolo "|" -> o elemento pode se dividir em outros elementos e eles são alternativos


Tag ATTLIST

<!ATTLIST S Nome S EspecificacaoAtributo S ?>
  • Nome - nome do atributo
  • EspecificacaoAtributo é composto por:
    • NomeAtributo S TipoAtributo S ValorPadrão S ValorDefault
    • Onde:
    • NomeAtributo - nome do atributo
    • TipoAtributo são os tipos:
      • CDATA: dados com formato de caracteres (não pode conter tag)
      • ID: identificador do elemento (possui valor único)
      • IDREF: é a referencia ao ID de um atributo
      • IDREFS: mais de um ID
      • NMTOKEN: palavra ou conjunto de palavras sem espaço 
      • NMTOKENS: lista separadas por espaço 
      • ENUMERADO: lista enumerada
    • ValorPadrão - sempre será esse valor, não muda nunca
    • ValorDefault - se nao definir um valor pro atributo, ele assume esse valor padrão
  • ? Cardinalidade - mesma do elemento













05 março, 2015

Sistemas de Gestão Empresarial

Sistemas de Gestão Empresarial

Existem dois grandes tipos de aplicações:

  • aplicações do negócio: suportam o negócio e a parte administrativa do mesmo;
  • aplicações sobre o negócio: analisam e ajudam a interpretar o que ocorreu e a decidir estratégias futuras.

Data Warehouse

É um armazém de dados, orientada por assuntos, integrada, variante do tempo e não volátil.
  • Assuntos: vendas de produtos, RH, aplicações financeiras
  • Integrado: se integra no banco da empresa
  • Variante do tempo: a chave principal da analise é o tempo
  • Não volátil: não se muda o dado

Classificação

  • Ambiente físico: centralizado ou descentralizado
  • Distribuição por função: cada assunto fica em um data warehouse e todos se combinam para um objeto comum
  • Camadas: os dados resumidos ficam em um servidor, os com detalhamentos intermediário em outro e outro com dados atômicos  

Data Warehouse e Metadados

Os metadados são divididos em três camadas:

  1. Operacionais (nível de aplicação): definem a estrutura dos dados mantidos pelos bancos operacionais.
  2. Centrais do data warehouse: metadados do próprio data warehouse 
  3. Nível do usuário: mapeiam os metadados do data warehouse para conceitos que sejam familiares ao usuário 
Classificação segundo classes de componentes:
  • mapeamento: descrevem as transformação dos dados operacionais até chegarem ao data warehouse
  • histórico: quais mudanças existentes nos dados 
  • miscelânea: sinônimos

Linguagens em banco de dados

  • OLTP: é o que estamos acostumados (SQL) 
  • OLAP: é usada em data warehouse (não faz a manutenção dos dados)

OLAP x SQL
  • SQL convencional tem pouco suporte a consultas temporais
  • SQL não dá suporte para otimizar um grupo de consultas, somente uma única

Modelagem de Data Warehouse

  • Dimensão: é uma entidade, através dela que conseguimos apurar. Exemplos: marca, modelo de um veículo. São diferentes perspectivas envolvidas em cada projeto em uma organização
  • Fatos: são medições, numéricas. 
    • Aditivos: medições em uma tabela que podem ser adicionados ao longo de todas as dimensões, ex: quant. produtos vendidos
    • Semi-aditivo: fato numérico, que pode ser adicionado ao longo de algumas dimensões. Ex. estoque (nem sempre pode ser armazenados para todas as dimensões
    • Não aditivo: são fatos que não podem ser adicionados em qualquer dimensão, ex. textuais
  • Granularidade: nível de detalhes que são armazenados
  • Grão: significado de uma linha na tabela de fatos. Ex a quantidade de veículos armazenados podem ser computados por dia, mês, ano. Se for armazenado por grão "mês", não é possível recuperar por semana ou dia

Modelos de data warehouse

  • Estrela (favorece aglutinação)
    • A tabela de fatos fica no centro do modelo e as dimensões ao redor.
  • Floco de Neve
    • Uma dimensão depende de outra. Para se apurar os fatos, deve-se ligar a uma dimensão e depois em outra. Ex. Produto > Categoria > Marca. 

Modelagem de um data warehouse

  • Orientado no negócio e necessidade do usuário
  • dados já foram produzidos
  • a normalização nem sempre se aplica
  • Diretrizes
    • o modelo dimensional deve se parecer com o corporativo
    • combinar a necessidade de informação com os dados disponíveis 

9 passos de decisão (KIMBALL)

  1. conhecer os processos (identidade dos fatos)
  2. decidir a granularidade de cada tabela de fatos
  3. decidir as dimensões da tabela de fatos
  4. quais fatos armazenar, que tipo de aglutinação
  5. definir os atributos de cada dimensão
  6. como rastrear dimensões de modificações mais lentas
  7. decisões de armazenamento físico
  8. amplitude de tempo histórico (terá uma visão de quanto anos atras?)
  9. definir os intervalos de extração dos dados

Mineração de Dados

Regras
  • Associação: associar dados a outros dados
  • Sequenciais: informação é requerida depois que algum outro dado foi requerido (passagem aérea, hotel)
  • Classificação: indicadores estatísticos (frequência de visitas a loja, incidência de erros de empregados)

Objetivos do Processo de Mineração

  • Previsão: prever fatos que já ocorreram no passado e podem ocorrer denovo
  • Identificação: identificar para minimizar ou maximizar a ocorrência
  • Classificação: classificar o que ocorre na organização
  • Otimização: otimizar os fatos ocorridos no passado












Segurança e Persistência de Dados

Dois tipos de segurança
  • Segurança de Acesso  (acesso ao dado)
  • Segurança de Atualização (não é atualização do dado, é a persistência do dado)

Segurança de Acesso

Dois tipos de privilégio

  • Nível de conta: relacionado ao usuário do banco de dados, esse usuário pode criar uma tabela, uma view, etc. (DDL)
  • Nivel de relação(tabela ou view): select, insert, update, delete, alter table, index, etc (DML)
    • grant select, insert, delete on TABELA to USER or ROLE
    • revoke select, insert, ... on TABELA to USER or ROLE
    • grant option permite o usuario dar permissões a outros

Segurança de Atualização

É a segurança que o usuário tem em manter o dado persistido, se ele assim o quiser.

  • Commit 
  • Rollback
  • Log
  • Backup full, incremental
  • Recover (time stamp)


É o backup, recovery e log do banco de dados


recovery = backupFull + Soma(BackupIncrementais) + Log