Banco de Dados Flashcards
Banco de Dados
Representa uma coleção de dados com significado implícito.
É um conjunto de dados estruturados que são confiáveis , coerentes e compartilhados por usuários que tem necessidades de informações diferentes.
Sistema de Gerência de Banco de Dados (SGBD)
Software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados.
Catálogo (Dicionário de Dados) do SGBD
*Meta Dados é a informação armazenada no catálogo do SGBD
Independência de dados
Independência Lógica
Independência Física
Características da abordagem de SGBD
Independência de dados *Independência Lógica Independência *Física Abstração de dados Suporte a Múltiplas Visões dos Dados Controle de acesso concorrente
Arquitetura ANSI/SPARC Arquitetura de três esquemas
Nível Interno (físico, de armazenamento):
–O nível mais baixo de abstração.
–Descreve como os dados estão realmente armazenados -
**NÃO LIDA com registros físicos RELACIONADO A MELHORAR DESEMPENHO»_space; Age é o DBA
Nível Conceitual (lógico de comunidade):
–Nível intermediário de abstração
–Descreve a estrutura do BD completo sob o ponto de vista do usuário. Descrições de entidades, tipos de dados, restrições atributos, relacionamentos, operações e restrições; Age é o AD
Nível Externo (de visões, lógico do usuário): DATE : também é conhecido com o nível lógico do usuário.
–O mais alto nível de abstração
–Descreve a visão da base de dados de um grupo de usuários. Cada visão descreve cada parte da base de dados que um grupo está interessado e esconde o resto da base. Age é o USUÁRIO FINAL
Mapeamento Externo/Conceitual
Mapeamento Conceitual/Interno
•Mapeamento Externo/Conceitual
–Define a correspondência entre uma visão externa específica e a visão conceitual.
–Exemplo: os campos podem ter tipos de dados diferentes, as denominações de campo e registro podem ser modificadas
—-> 1 mapeamento conceitual/interno 1 OU MAIS mapeamentos externos/conceituais.
•Mapeamento Conceitual/Interno
–Define a correspondência entre a visão conceitual e o banco de dados armazenado;
–Especifica o modo como os registros e campos conceituais são representados no nível interno.
Independência de dados
–Habilidade de modificar a definição de um esquema em um nível sem
Independência física de dados
–Modificar o esquema físico sem a necessidade de reescrever os programas aplicativos
–Mudanças de esquema interno não afetam o esquema conceitual ou a esquemas externos.
–Modificações no nível físico são ocasionalmente necessárias para melhorar o desempenho;
Independência lógica de dados
–Modificar o esquema conceitual sem a necessidade de reescrever os programas aplicativos.
MAS SE PRECISAR PODE ALTERAR
–Modificações no nível conceitual são necessárias quando a estrutura lógica do banco de dados é alterada
–Exemplo: adição de um novo tipo de conta „contas de bolsas de mercado‟ num sistema bancário.
Os mapeamentos são os grandes responsáveis por proporcionar a Independência de Dados
Independência lógica dos dados é MAIS difícil de ser alcançada do que a independência física
Modelo de Dados
–Coleção de conceitos que são usados para descrever a estrutura de um banco de dados;
–Descrição formal da estrutura de um banco de dados.
Esquema
–Descrição de um BD, segundo um modelo de dados.
As descrições das construções e restrições do esquema ficam armazenadas no catálogo do banco de dados.
NAVATHE
Geralmente, o esquema do banco de dados não é alterado com frequência.
Instância
É o conjunto de dados armazenados no BD em um determinado instante
Modelo Conceitual ou Semântico (Alto Nível)
–Descrevem a realidade observada
–Preocupação com a semântica da aplicação
–Independente de SGBD e de modelo de dados!!
NÃO TRATA DE TECNOLOGIA
–exemplos:
•modelo entidade-relacionamento (MER)
•Diagrama de classes UML
Modelo Lógico ou de Implementação (Nível Intermediário)
–Representam os dados em alguma estrutura (lógica) de armazenamento de dados
–Dependente do tipo/modelo de dados particular do SGBD que será usado
–Independente do SGBD
–Exemplos:
•modelo relacional (tabelas)
•modelos hierárquico e XML(árvore)
•modelo em redes (grafo)
•modelo orientado a objetos (classes–objetos complexos)
DESCREVE TIPOS DE DADOS E COMO SE RELACIONAM
TRATA DA TECNOLOGIA
** REPRESENTA ESTRUTURA DE DADOS VISTA PELO USUÁRIO
Modelo Físico (Baixo Nível)
MAIOR DETALHES
DESCRIÇÃO DE ARMAZENAMENTO
FORMATOS DE REGISTRO
CAMINHO DE ACESSO
–Representação gráfica do detalhamento físico das estruturas dos dados que o banco dedados irá armazenar.
–Este modelo é dependente do SGBD em que será implementado.
Usuários de Banco de Dados - Desenvolvedor de Aplicações
–Responsáveis pela concepção e construção de sistemas de informações que utilizam bases de dados implementadas em SGBDs.
–Responsáveis pela elaboração do Projeto Conceitual e Lógico da base de dados utilizada pela Aplicação.
FAZ REQUISIÇÃO AO BANCO
CRUD
Usuários de Banco de Dados - Projetista de BD ou Administrador de Dados (AD)
–Responsáveis por auxiliar os Analistas na criação do projeto lógico das bases de dados.
–Mantenedor do Projeto de Banco Corporativo
–Responsável pelos Dados da Organização
CRIA MODELO CONCEITUAL
Usuários de Banco de Dados - Administrador de Banco de Dados (DBA)
–Responsáveis por Administrar o SGBD Principais atividades: –Instalação e Configuração do SGBD –Monitoração do SGBD –Ajuste do SGBD (Tunning) PERFROMANCE –Controle de Segurança –Parte do Projeto Físico (organização interna dos dados, estruturas de acesso –índices) –Backup e Recuperação
Usuários Finais
–Utilizam o SGBD de diferentes formas a depender do conhecimento adquirido sobre SGBDs.
–Indiretamente através de aplicações
–Diretamente através de comandos ou operações válidas para os SGBDs..
Usuários Casuais
Usuários Iniciantes ou Paramétricos
Usuários Sofisticados
Usuários Isolados
Sistema gerenciador de banco de dados (SGBD)
É uma coleção de programas que permite aos usuários criar e manter um banco dedados.
O SGBD é considerado um software de uso geral que facilita o processo de definição, construção, manipulação e compartilhamento do banco dedados entre diversos usuários e aplicações.
Sistema de BD = BD + SGBD
Catálogo ou Dicionário de dados
Repositório com a definição completa da estrutura do banco deda dos e suas restrições.
O catálogo pode ser considerado um banco de dados isolado (banco de dados do sistema).
Nem sempre o uso do SGBD é recomendado.
Aplicações com requisitos rigorosos de tempo real.
Sistemas embarcados com capacidade de armazenamento limitado.
Nenhum acesso de múltiplos usuários aos dados
Algumas informações mantidas no Catálogo
Estrutura detalhada de cada arquivo Definição dos esquema(externos, conceitual e interno) Informações dos mapeamentos Restrições de segurança e integridade Autorização de acesso Visões Estimativas
Catálogo
Armazena esquemas internos, conceituais e externos, mapeamentos e metadados.
DICIONÁRIO DE DADOS
DBA» Instruções DDL > Comandos privilegiados
Viabilizam a definição e os ajustes no banco de dados por parte do DBA.
COMPILADOR DDL
Armazena as definições dos esquemas no Catálogo do Sistema.
Módulos Componentes de um SGBD
USUÁRIOS CASUAIS
CONSULTA INTERATIVA
Formulação das consultas.
COMPILADOR DE CONSULTA
Analisa e validação da sintaxe da consulta, compilando essas consultas para um formato interno.
OTIMIZADOR DE CONSULTA
Entre outras coisas,o Otimizador de Consultas preocupa-se como rearranjo e a possível reordenação de operações, com a eliminação de redundâncias e o uso dos algoritmos e índices corretos durante a execução.
PROGRAMADORES DE APLICAÇÃO
Entre outras coisas, o Otimizador d Consultas preocupa-se com o rearranjo e a possível reordenação de operações, com a eliminação de redundâncias e o uso dos algoritmos e índices corretos durante a execução.
A saída do Compilador DML e do Compilador de Linguagem Hospedeira são linkados e formam as Transações Compiladas
COMPILADOR DML
Compila esses comandos em código objeto para o acesso ao banco de dados.
PROJETO DE BD
LEVANTAMENTO E ANÁLISE DE REQUISITO
Etapa onde os Administradores de Dados entrevistam os usuários de forma a identificar os requisitos de dados.
PROJETO CONCEITUAL
Captura as necessidades da organização
PROJETO LÓGICO
Banco de dados é enriquecido com detalhes referentes às estruturas de armazenamento, organização de arquivos, índices…
ENTIDADE
É o objeto básico que o modelo ER representa.
É algo do mundo real que pode ser identificada de forma unívoca
ATRIBUTO
propriedadesespecíficasquedescrevemasentidades
Atributo Simples X Atributo Composto
Os atributos simples não são divisíveis. Eles também podem ser denominados atributos atômicos
atributo composto pode ser subdividido em partes menores
Atributo Multivalorado
São atributos que admitem um conjunto de valores para uma mesma entidade
Atributo Armazenado X Atributo Derivado
O atributo que pode ser derivado é denominado atributo derivado. O outro atributo é determinado atributo armazenado.
Modelo Entidade-Relacionamento (ER)
inicialmentepropostoporPeterCheneseuobjetivoérepresentaromundorealatravésdasentidades,suascaracterísticaseorelacionamentoentreessasentidades.
Diagrama de entidade-relacionamento (DER)
notação diagramática associada ao modelo entidade-relacionamento
Atributos chave / Atributo identificador
Atributo chave é o conjunto de atributos cujos valores podem ser usados para identificar cada entidade de maneira exclusiva
Tipo de relacionamentos e Conjunto de relacionamentos
Um tipo de relacionamento define um conjunto de relacionamentos entre entidades
Grau de um tipo relacionamento
O grau de um tipo de relacionamento é indicado pelo número dos tipos de entidades participantes
Papéis no relacionamento
O papel especifica a função que uma entidade desempenha em cada instância de relacionamento.
é essencial quando um mesmo tipo de entidade aparece mais de uma vez num mesmo relacionamento
Relacionamento Recursivo
umaentidadeparticipamaisdeumavezemumtipoderelacionamentocomfunçõesdiferentes.
Razão de Cardinalidade
A razão de cardinalidade especifica o número máximo de instâncias de relacionamento Razões de cardinalidade possíveis: 1X1 1XN NXM
Restrição de Participação
existência de uma entidade depende dela estar relacionada a outra entidade por meio do tipo de relacionamento > CARDINALIDADE MÍNIMA
Atributos de tipos de relacionamentos
Assim como as entidades, os relacionamentos também podem ter atributos
Atributos de tipos de relacionamentos
No caso dos relacionamentos 1:1, como ambas as entidades envolvidas participam de apenas uma instância de relacionamento
No caso dos relacionamentos N:1, o atributo do relacionamento pode ser representado no relacionamento ou na entidade do lado N
Entidade Fraca
Tipos de entidade que não possuem atributos chave próprios
Esse relacionamento entre entidades fortes e entidades fracas é chamado de relacionamento de identificação da entidade fraca.
**empretem uma restrição de participação total
Subclasses, Superclasses e Herança
Herança é um mecanismo que consiste na herança por parte de uma subclasse de todos os atributos e relacionamentos da sua superclasse correspondente.
Especialização e Generalização
Especializaçãoéoprocessodedefinirumconjuntodesubclassesdeumtipodeentidade
Generalizaçãoéoprocessoquesuprimiasdiferençasentreváriostiposdeentidades,identificandoassuascaracterísticascomuns.
Agregação / Entidade Associativa
Agregação é a abstração por meio da qual os relacionamentos são tratados como entidades de nível superior
Modelo Relacional
Primeiro modelo de banco de dados formal. Ele foi introduzido por Ted Codd, da IBM.
Baseado na teoria de conjunto e lógica de predicados de primeira ordem.
Coleção de relações.
Atributo
Todososnomesdosatributosdeumarelaçãoprecisamserdistintos
Otipodedadoquedescreveostiposdevaloresquepodemapareceremcadacolunaérepresentadoporumdomíniodevalorespossíveis
Tupla
Uma tupla representa um fato que normalmente corresponde a uma entidade ou relacionamento do mundo real.
Cada n tuplas t é uma lista ordenada de n valores, em que cada valor é um elemento de dom (Ai), ou é um valore special NULL
Esquema de Relação
Um esquema de relação é usado para descrever uma relação
O grau (ou aridade) de uma relação é definido pela quantidade de atributos desse esquema de relação
As tuplas em uma relação não possuem nenhuma ordem em particular.
Cada valor em uma tupla é um valor atômico ou um valor NULL.
estado de uma relação é definido pelas suas tuplas
Restrições de integridade (constraints)
fornecem a garantia de que mudanças feitas no banco de dados por usuários autorizados não resultem em perda de consistência de dados.
Superchave
subconjunto de atributos cujos valores não se repetem em nenhuma tupla da relação
CHAVE
A chave é uma super chave com a propriedade adicional de que a remoção de qualquer atributo faz com que ela deixe de ser uma superchave (superchave mínima).
Unicidade + Irredutibilidade
Chave Candidata
Quando um esquema tem mais de uma chave, cada uma dessas chaves é denominada chave candidata
Chave Primária (PrimaryKey)
Chave primária é a chave candidata selecionada para identificar tuplas na relação.
As demais chaves candidatas que não foram selecionadas são denominadas chaves secundárias
Chave Estrangeira (ForeignKey)
Mecanismo que possibilita a implementação de relacionamentos em um banco de dados relacional.
Conjunto de atributos usado para manter a consistência entre tuplas de duas relações.
Restrição de Integridade de Domínio
A restrição de domínio delimita um conjunto com os valores que podem ser atribuídos a um atributo.
Restrição de Integridade de Chave
A chave tem como característica identificar uma tupla dentro de uma relação.
A restrição d integridade de chave indica que o valor das chaves candidatas devem ser únicos.
Restrição de Integridade de Entidade
A restrição de integridade de entidade indica que nenhum valor de chave primária pode ser NULL
Restrição de Integridade de Unicidade
Especifica que o valor de um determinado atributo deve ser único.
Restrição de Integridade de Vazio
Especifica se os campos de uma coluna podem ou não ser vazios.
Restrição de Integridade Referencial
especificada entre duas relações e usada para manter a consistência entre tuplas nas duas relações.
O domínio da chave estrangeira deve ser o mesmo da chave referenciada na outra tabela.
O valor da chave estrangeira deve ter uma correspondência como atributo referenciado na outra relação ou ter valor NULL.
Primeira Forma Normal (1FN)
Uma relação está na Primeira Forma Normal (1FN) se contém apenas atributos atômicos
- É parte da definição formal de uma relação.
- Foi definida para não permitir atributos multivalorados, atributos compostos, tabelas aninhadas e suas combinações.
2FN
Uma relação encontra-se na 2FN se e somente se estiver em 1FN e não contém dependências parciais.
*Dependência Parcial
◦quando uma coluna depende apenas de uma parte de uma chave primária composta.
3FN
Uma relação está em 3FN se e somente se estiver em 2FN e nenhum atributo não chave for dependente transitivo da chave primária.
*Dependência Transitiva:
◦Uma coluna, além de depender da chave primária, depende de outra coluna ou conjunto de colunas.
◦X → Y e Y → Z
*A relação não deve ter um atributo não-chave funcionalmente determinado por um outro atributo não-chave (ou por um conjunto de atributos não-chave).
FNBC
Uma relação está em FNBC somente se estiver em 3FN e para toda dependência funcional X → A, X é uma superchave.”
- É uma forma mais restritiva de 3FN
- Toda relação em FNBC está também em 3FN; entretanto, uma relação em 3FN não está necessariamente em FNBC.
4FN
Uma relação está em 4ª Forma Normal (4FN) se, e somente se, estiver na 3FN e não contiver dependências multivaloradas
5FN
Existem relações que não podem ser decompostas em duas projeções sem perda, mas podem ser decompostas em três ou mais. Estas relações podem ser descritas como “decomponível n” (n>2) (Date), significando que a relação em questão pode ser decomposta sem perda em n projeções, mas não em m projeções, m < n.
*Esta limitação é denominada dependência de junção (DJ).
Big Data (megadados ou grandes dados)
área do conhecimento que estuda como tratar, analisar e obter informações a partir de conjuntos de dados grandes demais para serem analisados por sistemas tradicionais.
*São dados multivariados e de elevada dimensão, geralmente criados em tempo real e apresentam um crescimento exponencial (na escala temporal), nomeados de megadados
5 V
Volume: relacionado à grande quantidade de dados gerados;
Variedade: as fontes de dados são muito variadas, o que aumenta a complexidade das análises;
Velocidade: Devido ao grande volume e variedade de dados, todo o processamento deve ser ágil para gerar as informações necessárias;
Veracidade: A veracidade está ligada diretamente ao quanto uma informação é verdadeira;
Valor: Este conceito está relacionado com o valor obtido desses dados, ou seja, com a “informação útil”.
Big Data Analytics ESTUDADOS PELO BIG DATA
Social Data: Dados coletados de redes sociais ou ambientes de interação entre usuários, geralmente demográficos e comportamentais, ou seja, ditam um padrão de um determinado grupo com as mesmas característica
Enterprise Data: Na tradução literal Dados Empresariais, coletados pelo RH de empresas, setores de vendas, finanças, logística e produção, esses dados são atributos sobre funcionários e setores diferentes dentro de um ambiente empresarial
Personal Data: Dados pessoais, facilmente relacionados ao conceito da Internet das coisas, são dados obtidos através de aparelhos de uso pessoal ou coletivo, tais como smartphones, geladeiras, televisões, carros, etc.
Hadoop E Hadoop Distributed File System (HDFS)
plataforma de software em Java de computação distribuída voltada para clusters e processamento de grandes volumes de dados, com atenção a tolerância a falhas.
Hadoop Distributed File System (HDFS) - Sistema de arquivos distribuído que armazena dados em máquinas dentro do cluster, sob demanda, permitindo uma largura de banda muito grande em todo o cluster.
Apache hadoop é composto de 3 módulos principais:
1. Hadoop Distributed File System (HDFS).
2. Hadoop Yarn
3. Hadoop MapReduce
MapReduce
Modelo de programação criado pelo Google para trabalhar com grande quantidade de dados.
Consiste de duas fases: Mapeamento e Redução
MapReduce é um modelo de programação, e framework introduzido pelo Google para suportar computações paralelas em grandes coleções de dados em clusters de computadores.
Machine
Learning
ANÁLISE: DESCRITIVA : O QUE ACONTECEU? DIAGNÓSTICO : PORQUE ISSO ACONTECEU? PREDITIVA : O QUE ACONTECERÁ? PRESCRITIVA : O QUE DEVE SER FEITO?
DATA LAKE
O data lake é um tipo de repositório que armazena conjuntos grandes e variados de dados brutos em formato nativo. Com os data lakes, você tem uma visão não refinada dos dados
os dados são transformados apenas quando são necessários para análises, por meio da aplicação de esquemas
BI
“Um conjunto de conceitos, métodos e recursos
tecnológicos que habilitam a obtenção e distribuição de
informações geradas a partir de dados operacionais,
históricos e externos, visando proporcionar subsídios para a tomada de decisões gerenciais e estratégicas.”
• Gartner Group, 1989
Objetivos fundamentais de BI/DW (Kimball)
– Fazer a informação acessível mais facilmente
– Apresentar a informação consistente (credibilidade)
– Adaptado a mudanças
– Apresentar a informação de forma temporal
– Um bastião de segurança que protege os ativos de
informação
– Servir como base de autoridade e de confiança para uma
melhor tomada de decisão
– Ser aceito pela comunidade organizacional para considerar
bem-sucedido
Business Intelligence (BI) - Efrain Turban
é um termo abrangente que combina arquiteturas, ferramentas, bancos de dados, ferramentas de análise, aplicações e metodologias
Objetivos fundamentais de BI
• Acesso a dados confiáveis
• Aumento da transparência e compreensão do
negócio
• Suporte para a tomada de decisão
BI - Carlos Barbieri
BI representa a habilidade de se estruturar, acessar e explorar informações, normalmente guardadas em um DW/DM (Data Warehouse/Data Mart),
BUSINESS INTELLIGENCE
Conjunto de tecnologias que dão suporte as decisões gerenciais por meio de informações internas e externas às organizações.
Essas tecnologias tem um profundo impacto na
estratégia corporativa, na performance e na
competitividade.
Data Warehouse
Inmon: É uma coleção de dados orientados por
assunto, integrados, variáveis com o tempo e não
voláteis, para dar suporte ao processo de tomada de
decisão
• Kimball: É um conjunto de ferramentas e técnicas de
projeto, que quando aplicadas às necessidades
específicas dos usuários e aos bancos de dados
específicos permitirá que planejem e construam um
Data Warehouse
Hadoop
implementação de código aberto do paradigma de programação Map-Reduce
Map-Reduce
paradigma de programação introduzido pelo Google para processar e analisar grandes conjuntos de dados
Componentes do Apache Hadoop
- *HDFS (Hadoop Distributed File System), que manipula o armazenamento de dados entre todas as máquinas na qual o cluster do Hadoop está sendo executado
- *Map-Reduce, manipula a parte do processamento do framework
HDFS (Hadoop Distributed File System)
HDFS é um sistema de arquivos escalonável e distribuído, cujo desenho é baseado fortemente no GFS (Google File System), que também é um sistema de arquivo distribuído
HDFS
HDFS possuem dois tipos de nós
1- namenode, que é um master,
2- múltiplos datanodes, que são nós slave
Namenode
administra o namespace do sistema de arquivos. Ele gerencia todos os arquivos e diretórios. Namenodes possuem o mapeamento entre arquivos e os blocos nos quais estes estão armazenados. Todos os arquivos são acessados usando esses namenodes e datanodes
Datanode
armazena os dados em forma de blocos. Datanodes se reportam a namenodes sobre os arquivos que possuem armazenados para que o namenode esteja ciente e os dados possam ser processados
** crucial de falha do sistema, sem o qual os dados não podem ser acessado
Namenodes secundários
esse node é responsável por checar a informação do namenode. No caso de falha, podemos usar esse nó para reiniciar o sistema.
Map-Reduce
paradigma de programação em que cada tarefa é especificada em termos de funções de mapeamento e redução. Ambas as tarefas rodam paralelamente no cluster.
Job Tracker
tarefas de Map-Reduce são submetidas ao Job Tracker. Ele precisa falar com o Namenode para conseguir os dados. O Job Tracker submete a tarefa para os nós task trackers > que reportam e intervalos pra dizerem que estão vivos
Task Tracker
ask Tracker aceita as tarefas to Job Tracker. Essas tarefas são tanto de map, reduce ou ambas (shuffle)
BI x BIG DATA ANALYTICS
O Big Data não necessariamente entregará dados concretos com análises claras, por isso podemos fazer o uso do BI para que ele nos proporcione o entendimento, com saídas lógicas e estratégicas. Deste modo, como ambas possuem grande importância, elas devem ser bem entendidas para que as empresas possam aproveitá-las da melhor forma.
Data Warehouse
Não-volátil, integrado, orientado por assuntos e variante no tempo
DW é orientado por assuntos, armazenando dados de forma histórica de assuntos específicos, conforme interesses de nível estratégico da empresa
TIPICAMENTE MULTIDIMENSIONAIS
Data Marts
são como pequenas fatias que armazenam subconjuntos de dados, normalmente organizados para um departamento ou um processo de negócio. Normalmente o Data Mart é direcionado para uma linha de negócios ou equipe, sendo que a sua informação costuma pertencer a um único departamento