Introdução a Bancos de Dados Relacionais
Introdução a Bancos de Dados Relacionais
Juliana Mascarenhas
Tech Education Specialist DIO / Owner @Simplificandoredes
e @SimplificandoProgramação
Mestre em modelagem computacional | Cientista de dados
@in/juliana-mascarenhas-ds/
[1]
Juliana Mascarenhas
Tech Education Specialist
@SimplificandoRedes
@SimplificandoProgramação
Cientista de dados
https:// Desenvolvedora Java/Python
github.com/ Me Modelagem Computacional - LNCC
julianazanelatto
[2]
Sobre Mim
Técnica de Telecomunicações - Mestre em modelagem
CEFET/RJ computacional – LNCC
[3]
Sobre Mim
Sobre Mim
Gerenciamento de
Redes de computadores
Projetos
2009 2014
2012 2017
[5]
Cursos
[6]
Objetivo Geral
[7]
Objetivo Geral
Introdução à Modelagem de
Contextualização
Dados
Histórico Modelagem e SQL
O que são BDs ? Instalando e Configurando seu SGBD
Era dos dados
Características principais
StakeHolders
Vantagnes e quando não usar? Modelos, Esquemas, linguagens, ambientes ….
[8]
Etapa 1
[12]
Conversa
Cenário de dados SGBDs
Contextualizando Sistemas de Gerenciamento de BDs
[13]
Contextualizando
[14]
Contextualizando
Dados!
DADO
[15]
Contextualizando
Persistidos & confiáveis
Dados!
DADO
[16]
Contextualizando
Acesso à conta
[17]
Contextualizando
Acesso à conta
Numéricos e Textual
Tipos de dados
[18]
Contextualizando
[19]
Contextualizando
[20]
Contextualizando
[21]
Contextualizando
[22]
Contextualizando
[23]
O que são banco de
dados?
[24]
O que são Banco de Dados?
Negócios
E-commerce
Engenharia
Medicina
Social Media
[25]
O que são Banco de Dados?
Formalmente:
• Dados relacionados Database
Fatos
[26]
O que são Banco de Dados?
CADASTRO
Nome
Telefone
Email
Whats app
Significado
[27]
O que são Banco de Dados?
Definição geral
[28]
O que são Banco de Dados?
• Contexto - representação do
mundo real;
• Coerência;
• Propósito
Uso + restrito
[29]
O que são Banco de Dados?
[30]
O que são Banco de Dados?
Ações
Mudança de estado
[31]
O que são Banco de Dados?
Confiável Acurado
Ações
Reflexo "imediato"
Mudança de estado
[32]
O que são Banco de Dados?
Tamanho?
Centenas Bilhões
[33]
O que são Banco de Dados?
Complexidade
• 60 milhões de users
• 42 Terabytes
• SGBD distribuído
[35]
O que são Banco de Dados?
BDs?
Sistema
Manualmente
[36]
O que são Banco de Dados? DBMS
BDs? SGBD
Sistema
Manualmente
[37]
SGBDs - Sistemas de
Gerenciamento de Banco de
Dados
[38]
SGBDs
Tipo de dados
• Definição
• Construção Estrutura
• Manipulação
Constrains
• Compartilhamento
• Definição Recuperação
• Construção
• Manipulação
• Compartilhamento
Simultaneidade
• Definição
• Construção
• Manipulação
• Compartilhamento
Retorno: dados
[43]
SGBDs
Além disso ...
Acesso
Mal funcionamento
Proteção
[44]
SGBDs - Exemplo
Contexto: Universidade
• Nome completo
• Matrícula
• Endereço
• Campus
• Curso
• Telefone
• Email
• ...
[45]
SGBDs - Exemplo
Definição
• Estudantes
• Cursos
• Seção
• Pré-requisitos
• Report da grade
[46]
SGBDs - Exemplo
Definição
• Estudantes
• Cursos
• Seção
• Pré-requisitos
• Report da grade
[47]
SGBDs - Exemplo
Definição
Tipos de dado
• Estudantes
• Cursos
• Seção
• Pré-requisitos
• Report da grade
[48]
SGBDs - Exemplo
Metadados
Informações que
fornecem uma
descrição concisa dos
dados contidos no BD
[49]
SGBDs - Exemplo
Construção
Arquivos
[50]
SGBDs - Exemplo
Manipulação
Updates
[51]
SGBDs - Exemplo
Compartilhamento
Transações
[52]
Etapa 2
Contextualizando – breve
histórico e conceitos
[53]
Conversa
Breve histórico Mercado
Como surgiu? Sistemas de Gerenciamento de BDs
mais utilizados
Modelo de BD Relacional
[54]
Breve Histórico
1970
1960
Modelo Relacional
de BDs
[55]
Breve Histórico
1970
1960
Modelo Relacional
de BDs
[56]
Breve Histórico
1970
1960
Qual foi a
Modelo Relacional
motivação?
de BDs Custo com pessoal
[57]
Breve Histórico
1970
Modelo baseado em sistemas de arquivos
1960
Modelo Relacional Modelo Hierárquico
de BDs em rede
Modelo
Modelo relacional
[58]
Breve Histórico Cálculo e Álgebra Relacional
ISO/IEC 9075
Oracle 3
1976 1983
[62]
Linha do Tempo
1960 1980 2000
Conceito criado
POO
1970 1990
[63]
Primeiros do Mercado
Uso dos pcs
8 MB TeraBytes
1980
[64]
Modelo Hierárquico Clipper
BDDBase COBOL
Fox Pro
Modelo Hierárquico
[65]
Modelo em Rede
Relacionamento N:M
CODASYL
• Links - Ponteiros entre nós
• 1964
Modelo em rede
[66]
Modelo de Banco de dados
Relacional
[67]
Modelo Relacional
Características
• Álgebra relacional
• Relações
• TAD para armazenamento 1970
• Transparência
Codd, E. F. A relational model for large shared data banks. Communications of the ACM 13(6):377-387, 1970.
Modelo Relacional
[68]
Modelo Relacional
Usuários de BDs
[71]
Modelo Relacional
Tradução
[72]
Modelo Relacional
Tradução
Mec. Execução
[73]
Modelo Relacional
Gerenciador
Tradução
Mec. Execução
[74]
Modelo Relacional
Características:
• Altera e extrai informações
• Duráveis
Transações
Transações
• Gerenciador de armazenamento
• Gerenciador de buffer
Dados
[79]
Cenário
Apenas um BD
em operação?
Ç ÃO
G RA
T E
IN
[80]
Cenário
Abordagens
Data warehouses
• Repositórios centralizados
• Mediadores
Middleware
[81]
[82]
SGBDs utilizados pelo mercado
[83]
Mais utilizados pelo mercado
https://db-engines.com/en/ranking
[84]
Mais utilizados pelo mercado
ElasticSearch
11
12
https://db-engines.com/en/ranking
[85]
Mais utilizados pelo mercado
Popularidade
Tempo de marcado
Documentação
[87]
Conversa
Contexto majoritário 4° Paradigma
[88]
Contexto dos dados
MIN/MAX COUNT
MÉDIA SOMA
[90]
Researching
• N° de tarefas computacionas
• Quantidade de dados
Poder
computacional • Heterogeneidade
• Computação paralela e
distribuída
[91]
Researching
Exemplos
Resolução
8TB
100 km
100 anos
8PB
3km
[92]
Researching
Exemplos
Mapeamento de galáxias,
supernovas e padrões
6.6TB/dia 400
25 instituições
[93]
4° Paradigma
Instrumentos e simulações
que geram grande volume de
dados
Fonte: From DFT to Machine Learning: recent approaches to Materials Science – a review
Novo modelo: base na análise
e exploração de dados (e- Modelo anterior: empírico, teórico e
Ciência) computacional
[94]
4° Paradigma
Requisitos
Reprodutividad
Execução
e
Análise Abstração
[95]
4° Paradigma
Múltiplos
processadores
Paralelismo operando
concorrentemente
Experimentos Processamento
paralelo de dados
realizados em larga Big Data persistentes e
particionados
escala
Recursos de
terceiros -
Cloud Soluções de
tecnologia como
serviço
[96]
High Performance Computing
• Nós de processamento
• Sistema de arquivos paralelos –
HPC sem persistência
• Modelos: MPI, OpenMP, OpenCL
• Acesso: HFF5 e NetCDF
[97]
Big Data
• Process e Storage: nós de
processamento
• Sistema de arquivos paralelos –
persistente
• Modelos: MapReduce, Spark, SGBDs
paralelos
[98]
Etapa 4
[99]
Conversa
Data Carrier Modelos NoSQL Mundo real – exemplos
[100]
Novo cenário
[101]
Mercado de data
Engenheiro de dados
[103]
Mercado de data
Cientista de dados
• Modelagem
• Reconhecimento de padrões / Predição
Cientista de dados
[104]
Mercado de data
Analista de dados
• Criação de dashboards
• Apresentação visual dos dados
Análise
Gerenciamento
ABORDAGEM
Interpretação
Marketing
[106]
Data-driven Customer
center
Área estratégica
Análise
Gerenciamento
ABORDAGEM
Interpretação
Marketing
[107]
Modelos NoSQL
Documentos
SGBDs NoSQL
Wide-columns
Key-Value
Grafos
Orientado à Objetos
[108]
Modelos NoSQL
Documentos
SGBDs NoSQL
Wide-columns
Key-Value
Grafos
Orientado à Objetos
[109]
Modelos NoSQL
Documentos
NoSQL
SGBDs NoSQL
Wide-columns
Key-Value
Not only SQL
Grafos
Orientado à Objetos
[110]
Modelos NoSQL
Documentos
Orientado à Documentos
SGBDs NoSQL
Wide-columns
• Baixa curva de aprendizado
Key-Value • Baseado em JSON
• Escalabilidade horizontal
Grafos • Multi-plataforma
• Transações ACID para multi-documento
Orientado à Objetos • Consultas: Suporta javascript
[111]
Modelos NoSQL
Documentos
Orientado à Colunas
SGBDs NoSQL
Wide-columns
• Origem: Facebbok
Key-Value
• Open-source: 2008
• Performático
Grafos
• Descentralizado
• Consultas: CQL
Orientado à Objetos
[112]
Modelos NoSQL
Documentos
Orientado à Key-Value
SGBDs NoSQL
Wide-columns
• 2009 - Escrito em C
Key-Value
• Compatível c/ outras linguagens
• Performático
Grafos
• Support: strings, lists, maps, sets, JSON,
Graphs ...
Orientado à Objetos
[113]
Modelos NoSQL
Documentos
Orientado à Grafos
SGBDs NoSQL
Wide-columns
Orientado à Objetos
[115]
DB & Cloud
[116]
Mundo Real
[117]
Mundo Real
Fonte: https://networkdatascience.ceu.edu/ [118]
Etapa 5
[119]
Conversa
Isolamento de dados e Compartilhamento e
Abordagem de BDs
programa Processamento de transações
Por que utilizar? 2° das principais característica de SGBD 4° das principais característica de SGBD
1° das principais característica de SGBD 3° das principais característica de SGBD
Auto-descrição Múltiplas Visões
[120]
Abordagem de BD
Por que utilizar
SGBDs?
[121]
Abordagem de BD
Por que utilizar
SGBDs?
Abordagem BDs
Abordagem tradicional
[122]
Abordagem de BD
Suponha as aplicações
Cadastro
Verificação de
pagamento
[123]
Abordagem de BD
Suponha as aplicações
Cadastro
Verificação de
pagamento
[124]
Abordagem de BD
Suponha as aplicações n c ia
n dâ
Redu
Cadastro
etid o
rço rep Verificação de
Esfo pagamento
[125]
Abordagem de BD
Cadastro
Abordagem BDs
Verificação de
pagamento
[126]
Abordagem de BD
Características principais:
Abordagem BDs
Abstração Auto-descrição
Isolamento Compartilhamento
Transação
Múltiplas visões
multiuser
[127]
Natureza auto-descritiva da
abordage de BD
[128]
Natureza Auto-descritiva
Descrição da estrutura
e constrains
DB schema
[129]
Natureza Auto-descritiva
Descrição da estrutura
e constrains
DB schema
NoSQL
[130]
Natureza Auto-descritiva
Descrição da estrutura
e constrains
DB schema
NoSQL
[131]
Natureza Auto-descritiva
Descrição da estrutura
e constrains
DB schema
NoSQL
[132]
Natureza Auto-descritiva
Abordagem tradicional
Programa da Aplicação
[133]
Natureza Auto-descritiva
Abordagem tradicional
Classe Pessoa
Programa da Aplicação
Atributos
[134]
Catálogo
[136]
Isolamento e abstração
Abordagem tradicional
Classe Pessoa
Programa da Aplicação
Embedded Atributos
[137]
Isolamento e abstração
SGBD
Programa da Aplicação
Embedded
Estrutura de dados File processing
[138]
Isolamento e abstração
Program-data independence SGBD
Programa da Aplicação
Embedded
Estrutura de dados File processing
[139]
Isolamento e abstração
Program-data independence SGBD
DATA
Programa da Aplicação
Embedded
Estrutura de dados File processing
[140]
Isolamento e abstração
Reestruturação
User
Id,
---------------
Nome, get_nome();
Endereço, save_user(); Nome, Sobrenome,
idade ... Data de nascimento
[141]
Isolamento e abstração
a em
rret Sistema
açã
c
ode Banco de Dados
a ca ão odifi
çã o raç
User M
Id, ca rutu DADOS
fi
di eest get_nome();
---------------
M o
Nome,
r
Endereço, save_user();
idade
CATÁLOGO
...
[142]
Isolamento e abstração
Independência do
programa e dados
• Abstração
• Transparência
[143]
Isolamento e abstração
Independência do
programa e dados
• Abstração
• Transparência
[144]
Isolamento e abstração
Catálogo
[145]
Suporte a Múltiplas Visões dos
dados
[146]
Table Views
Educação Financeiro
Marketing
Planejamento
Vendas
[147]
Table Views
Educação Financeiro
Perspectiva
Marketing
Contexto
Planejamento
Vendas
[148]
Table Views
Nome,
Educação
Matricula,
Matéria,
Sala, Financeiro
Mensalidade,
Atraso,
Data_inicio, Educação
Curso_extra
Vendas
[149]
Table Views
READ-ONLY
[150]
Table Views
[151]
Table Views
[152]
Compartilhamento de dados e
processamento de transações
multiusuários
[153]
Design – Múltiplos acessos
[154]
Design – Múltiplos acessos
Integração
Manutenção
[155]
Concorrência
Integração
Concurrency Control
Manutenção
[156]
Múltiplos acessos
Foco: 1 reserva
[157]
OLTP
Transação
[158]
OLTP
• App multiuser
• Gerenciador: transações concorrentes
Processo
Cálculo lógico
Acessos ao SGBD
• App multiuser
• Gerenciador: transações concorrentes
Processo
Cálculo lógico
Acessos ao SGBD
• App multiuser
• Gerenciador: transações concorrentes
Processamento de dados
Processamento de dados
Transaction-driven
[162]
OLTP
Aplicação
além de DB OLTP OLAP
ELT Process
Ambiente Ambiente
Operacional informativo
[163]
OLTP D
deB ouse
te are
h
Aplicação bien W
Am Dat
a
além de DB OLTP OLAP
ELT Process
Ambiente Ambiente
Operacional informativo
[164]
Etapa 6
[165]
Conversa
Vantagens da abordagem de
Atores no cenário de BDs
SGBDs
[166]
Quais são os atores em Banco
de Dados?
[167]
Atores
[168]
Design
Atores Manutenção
Usabilidade
[169]
Atores Administrador
Designers
• Dia-a-dia
• Diretamente ligados ao contexto
Usuários finais
[170]
Atores - Designer
SGBD
• Gerencia Recursos
Softwares adicionais
• Orquestração
• Autorização de acesso
DBA
DBA Staff
[172]
Atores - Usuários Finais
Update
Propósito do SGBD
[173]
Atores - Usuários Finais
• Casuais
Acessos ocasionais
• Ingênuos
Diferentes informações
• Sofisticados
Uso de APIs
• Standalone
Propósito do SGBD
[174]
Atores - Usuários Finais
• Casuais
Considerável porção
• Ingênuos
Canned Transactions
• Sofisticados
Erro: raro
• Standalone
Propósito do SGBD
[175]
Atores - Usuários Finais
• Casuais
• Ingênuos
• Sofisticados
• Standalone
Propósito do SGBD
[176]
Atores - Usuários Finais
• Casuais
• Ingênuos
• Sofisticados
• Standalone
Propósito do SGBD
[177]
Atores - Usuários Finais
• Casuais
• Ingênuos
• Sofisticados
BD pessoal
• Standalone
Propósito do SGBD
[178]
Atores - Usuários Finais
[180]
Atores
e
n v olv
e
Des
Engenheiros de Software
[181]
Atores
e
n v olv
e
Des
Engenheiros de Software
[182]
Atores
e
n v olv
e
Des
Engenheiros de Software
[183]
Atores
Análise de Sistema
e
e nvolv
Des
Desenvolvimento da
aplicação
Teste e documentação da
aplicação
Engenheiros de Software
[184]
Workers em background –
Banco de dados
[185]
Background
Fora do contexto de BD
[186]
Background
Mantém o SGBD disponível para users
[187]
Background Implementação dos módulos e interfaces do
SGBD como um software package
Processamento
[188]
Background Responsável pelo ambiente de hardware e
software para SGBD
[189]
Background Ferramentas opcionais para diversos fins,
como: performance, modelagem, análise
[190]
Vantagens de utilizar a
abordagem com SGBD
[191]
Vantagens do SGBD
Isolamento Compartilhamento
Transação
Múltiplas visões
multiuser
[192]
Vantagens do SGBD
Quais são ?
Controle de Redundância
Restrição de acesso
Backup e Recovery
[193]
Vantagens do SGBD
Controle de Redundância
A B
[194]
Vantagens do SGBD
Controle de Redundância
C: (storage) D: (storage)
Estudantes Estudantes
Cursos Cursos
Relação alunoxcurso Relação alunoxcurso
... ...
[195]
Vantagens do SGBD Updates desnecessários
Controle de Redundância
C: (storage) D: (storage)
Estudantes Estudantes
Cursos Cursos
Relação alunoxcurso Relação alunoxcurso
... ...
Desperdício
Redundância
Inconsistência
[196]
Vantagens do SGBD
Controle de Redundância
[197]
Vantagens do SGBD
Controle de Redundância
Desnormalização
[198]
Vantagens do SGBD
Restrição de acesso
[199]
Vantagens do SGBD
Restrição de acesso
Update
Restricted
view
Read-only
[200]
Vantagens do SGBD DBA
Restrição de acesso
Update
Restricted
view
Subsistema Read-only
secundário
[201]
Vantagens do SGBD
Provendo Persitência
[202]
Vantagens do SGBD
O que acontece com Provendo Persitência
os dados de um
programa objeto?
[203]
Vantagens do SGBD
Provendo Persitência
Salvos em Arquivo
Conversão
[204]
Vantagens do SGBD
Provendo Persitência
Impedance Mismatch Problem
[205]
Vantagens do SGBD
QUERIES
Indexação
Caching
Buffering
Recursos de Recovery
Recovery
[210]
Vantagens do SGBD
Provendo interface Multi-user
Perfis de usuário
Interfaces
[211]
Vantagens do SGBD Mobile apps
Natural Language Interface
Query language
Menu-driven
Programming lang. interface
[212]
Vantagens do SGBD
Repres. Relações complexas
[213]
Vantagens do SGBD
Integridade de dados
Data type
Definição e Imposição
[214]
Vantagens do SGBD
Integridade de dados
Integridade
de
Referência
[215]
Vantagens do SGBD
Integridade de dados
Dependências Funcionais
Regras de Negócio
Semântica
[217]
Vantagens do SGBD
Inferência | ações com regras | Triggers
Estado de aprovação?
Dedução
Estado de aprovação?
Dedução
g. P rocedural
Pro
roce dural
Prog. P
[221]
Vantagens do SGBD
Inferência | ações com regras | Triggers
[222]
Ganhos em utilizar Sistemas de
Gerenciamento de Banco de
Dados
[223]
Ganhos com SGBD
• Padronização
• Redução de tempo no desenvolvimento da
aplicação
• Flexibilidade
• Disponibilidade de info atualizadas
• Economia com escalabilidade
[224]
Ganhos com SGBD
Entre databases dentro da organização.
• Padronização
• Redução de tempo no desenvolvimento da
aplicação
Tipos de dados
• Flexibilidade
• Disponibilidade de info atualizadas
Display
[225]
Padronização
Estrutura definida
Tipo de dados
[226]
Ganhos com SGBD
Features do app descontinuadas: retrieval
• Padronização
• Redução de tempo no desenvolvimento da
aplicação
• Flexibilidade
• Disponibilidade de info atualizadas
• Economia com escalabilidade
[227]
Requisitos
Testar
• Padronização
• Redução de tempo no desenvolvimento da
aplicação
• Flexibilidade
• Disponibilidade de info atualizadas
• Economia com escalabilidade
[228]
Requisitos
Testar
• Padronização
• Redução de tempo no desenvolvimento da
aplicaçãoNovo requisito
• Flexibilidade
• Disponibilidade de info atualizadas
• Economia com escalabilidade
[229]
Time
Adicionar coordenador
[230]
Ganhos com SGBD
• Padronização
• Redução de tempo no desenvolvimento da
aplicação
Update imediato
• Flexibilidade
• Disponibilidade de info up-to-date
• Economia com escalabilidade
[231]
Ganhos com SGBD
• Padronização Consolidação
[232]
Quando não usar um SGBD?
[233]
Not use!
Isso existe? Custo de overhead
Custo-benefício
[234]
Not use!
Isso existe?
Custo
• Investimento inicial
• Generelidade na definição e processamento
• Segurança, controle de concorrência,
recovery, funções de integridade
[235]
App rigorosas
Embedded
Acesso unário Systems
Situações
[236]
Not use!
Real World
GIS Systems
COMUTAÇÃO
[237]
Etapa 7
Introdução à Modelagem de
Banco de Dados e SQL
[238]
Conversa
O que é modelagem? O que SQL e comandos básicos
[239]
Por que modelar? Eletrônicos
Esquema de circuitos
Desenvolvimento
Protótiopos
Construção
Plantas baixa
Compreensão do sistema
[240]
Modelagem
???
Modelagem
Representação
Modelo
Referência
[241]
Modelagem
???
Modelagem
Software Dados
Computacional Conceitual
[242]
Modelagem
???
Modelagem
[243]
Modelagem
???
Modelagem
Conceitual Físico
[244]
Modelagem
???
Mini-mundo Esquema
[245]
Modelagem
E o esquema?
[246]
Modelagem
E o esquema?
Facilita a compreensão do
contexto dos dados
[247]
Modelagem
E o esquema?
Facilita a compreensão do
contexto dos dados
[248]
Modelagem
E o esquema?
Facilita a compreensão do
contexto dos dados
[249]
Modelagem
Como seria?
Entidade
[250]
Modelagem
Como seria? Atributo
[251]
Modelagem
Como seria?
Relacionamento
[252]
Modelagem
Como seria?
Relacionamento
[253]
Modelagem
E se
explorarmos a
modelagem?
Instâncias
Multiplicidade
Chaves e constrains
Integridade de dados ...
[254]
Modelagem
Facilita a compreensão do
contexto dos dados
[255]
Modelagem
UML ...
[256]
Modelagem
Como inserir
as infos no BD?
Linguagem declarativa
[257]
SQL – como acessar?
[258]
SQL – como acessar?
[259]
SQL – 1° exemplo
CREATE DATABASE firstexample;
Criando a tabela periódicos
CREATE TABLE periodicos(
id integer,
nome varchar(120),
issn integer
);
[260]
SQL – 1° exemplo
CREATE DATABASE firstexample;
Criando a tabela periódicos
CREATE TABLE periodicos(
id integer,
e?
nome varchar(120),icidad
n
t iru
issn integergaran
o mo
);
C Primary Key
[261]
SQL – 1° exemplo
CREATE DATABASE firstexample;
CREATE TABLE periodicos( Criando a tabela periódicos
id integer,
nome varchar(120),
issn integer,
PRIMARY KEY (id) Primary Key
);
[262]
SQL – 1° exemplo
CREATE TABLE editora(
id integer,
nome_editora varchar(120), Criando a tabela editoras
Pais integer,
PRIMARY KEY (id)
);
[263]
SQL – 1° exemplo
CREATE TABLE periodicos(
Definindo relacionamento
id integer,
nome varchar(120),
issn integer,
PRIMARY KEY (id),
FOREIGN KEY (id) REFERENCES editora(id)
);
[264]
Desafio
Artigo/work
Entidades
Pesquisador/autor
[265]
Etapa 8
[267]
Conversa
Modelos Instâncias
Esquemas
[268]
Modelo
Abstração essencial
[269]
Modelo
Data model
Abstração essencial
[270]
Modelo
Operações
Data model
Abstração essencial
[271]
Modelo
Operações
Data model
Classificação
Abstração essencial
[272]
Modelo
Baixo nível Alto nível
Estrutura
Classificação
[273]
Modelo
Baixo nível Alto nível
Especialista
Classificação
[274]
Modelo Representacional
Modelo de Dados de
Especialista implementação
Classificação
[275]
Modelo
Entidade
Relacionamento
Classificação
[276]
Modelo
Generalização, especialização ...
Entidade
Modelo Entidade-Relacionamento
Relacionamento
Classificação
[277]
Modelo Linguagens
ns
O
a i
pe
r
st
ra
n
çõ
Co
es
Representacional Modelo de dados relacional
Modelo de Dados de
implementação
Modelos hierárquicos
Classificação
[278]
Modelo
Especialista
Hashes
Classificação
[279]
Modelo
Descrição
XML
Modelo de Dados
Auto-descritivo
Dados
KEY-VALUE
Classificação
[280]
Esquemas, Instâncias e Estados
do BD
[281]
Esquema
Diagramas
Descrição
Esquema
[282]
Esquema
Diagramas
Descrição
Esquema
[283]
Construct
Esquema
Diagramas
Descrição
Esquema
[284]
Construct
Esquema
Diagramas
Descrição
Esquema
[285]
Snapshot
Dados mudam
Instância | Ocorrência
Esquema
[286]
Insert, Delete
Snapshot
Mudança de estado
Dados mudam
Esquema
[287]
Descrição & Dados
ESTADO VÁLIDO
Estado inicial
Esquema
[288]
Mudança = evolução
Snapshot
Dados mudam
Instância | Ocorrência
Esquema
[289]
Meta dados
Descrição esquema
Construtores
Constrains
Esquema
[290]
Three-Schema
Architecture
[291]
Three-Schema
Catálogo
Isolamento
Views
data/program
Esquema
[292]
Arquitetura
Aplicações de Usuário
------------------------------------------
Físico BD
[293]
Arquitetura
C:/
[294]
Arquitetura
Modelo de Implementação
constrains Relacionamentos
[295]
Arquitetura De
sc
r
gru ição
po do
Modelo conceitual
Base
[296]
Explicitamente
Arquitetura
Completamente
Desenvolvimento e Design
do sistema
[297]
Independência de dados
Lógica
Física
[298]
Etapa 9
[299]
Conversa
Linguagens e interfaces Utilitários e ferramentas
Categorias do usuário
Ambientes de SGBD
[300]
Linguagens
Usuário
Linguagens e interfaces
Usuário
Linguagens e interfaces
---------------------------------------------
Separação explicita
VDL
[303]
Linguagens
DML
Inserção, recuperação...
[304]
Linguagens
Oper. De BD
DML
[305]
Linguagens
Alto nível | Não procedural
DML
Especifica como!
[306]
Interfaces
[307]
Interfaces
[308]
Interfaces Requisições & estrutura
Baseado em lista
[309]
Interfaces
Bancos, reservas ...
[313]
Interfaces
[317]
Ambiente
[318]
Componentes
Software
Modularizado
[319]
Componentes
Ambiente de BD
Módulos internos
[320]
Componentes
Esquema
Info de módulos
BD
[321]
Componentes
Acesso ocasional
[322]
Componentes
Acesso ocasional
Ex: Reordenação de
operações, eliminar
redundâncias ....
[323]
Componentes
Linguagens de prog.
Extrai DML
[324]
Componentes
Canned Transaction
[325]
Componentes
Privileged commands,
Query plans,
Canned transactions ...
Infos de hd/ram
[326]
Componentes
Buffering
&
Caching
[327]
Utilities – Gerenciamento
Monitoramento
Reorganização do storage
Backup
Loading
Reformatar os dados
[328]
Utilities – Gerenciamento
Monitoramento
Reorganização do storage
Backup
Loading
[329]
Utilities – Gerenciamento
Monitoramento
Reorganização do storage
Incremental
Backup
Loading
[330]
Utilities – Gerenciamento
C:/ Monitoramento
Reorganização do storage
Backup
Loading
[331]
Utilities – Gerenciamento
C:/ Monitoramento
Reorganização do storage
Backup
Loading
[332]
Utilities – Gerenciamento
Monitoramento
Reorganização do storage
Backup
Loading
Estatísticas do BD Decisões
[333]
Ferramentas e aplicações
Data dictionary system Armazena informações de decisão
de design, padrões de utilização,
descrição de aplicações
Terminal,
workstations, PCs
Software de comunicação
[334]
Etapa 10
[335]
Conversa
Modelos de arquitetura
Centralizado
Distribuído
Classificação de SGBD
[336]
Arquitetura
Arquitetura Física
Centralizada
[337]
Arquitetura
Mainframes
Arquitetura Física
Centralizada
[338]
Arquitetura
Mainframes
Arquitetura Física
Centralizada
PCs
[339]
Arquitetura
Model
Cliente Servidor
Provedor de serviços
[340]
Arquitetura
[341]
Arquitetura
ODBC Driver
JDBC
ODBC Driver
Arquitetura Lógica e
Física
cliente/servidor
Two-tier
[344]
Arquitetura
Arquitetura Lógica e
Física
cliente/servidor
Two-tier
[345]
Arquitetura
Arquitetura Lógica
cliente/servidor
Three-tier
[346]
Arquitetura Interface
Application rules
Application rules
Arquitetura Lógica
cliente/servidor
Three-tier
[347]
Classificação de SGBDs
[348]
Classificação
Modelo de dados
N° de usuários
N° de sites
Parâmetros
Custo
Tipo de caminho de
acesso
[349]
Classificação
Modelo de dados
N° de usuários
N° de sites
Custo
Tipo de caminho de
acesso
[350]
Classificação
Modelo de dados
N° de usuários
N° de sites
Custo
Tipo de caminho de
acesso
[351]
Classificação
Modelo de dados
N° de usuários
N° de sites
Custo
Tipo de caminho de
acesso
[352]
Classificação
Modelo de dados
N° de usuários
N° de sites
Custo
Tipo de caminho de
acesso
[353]
Classificação
Big data Modelo de dados
Heterogeneidade N° de sites
Custo
Tipo de caminho de
acesso
[354]
Classificação
Modelo de dados
N° de usuários
N° de sites
Tipo de caminho de
Módulos: replicação, paralelismo .... acesso
[355]
Classificação
SGBD de estrutura de Modelo de dados
arquivos invertida
N° de usuários
C:/ Custo
Tipo de caminho de
Armazenamento de arquivos acesso
[356]
Classificação
Performance
C:/
s i gned
De
C:/ OLTP
Coleções de tabelas
Tabela File
View User
[359]
Dúvidas?
> Fórum/Artigos
> Comunidade Online (Discord)
[360]
Para saber mais
Referências principais:
[361]
Para saber mais
Outras referências:
https://www.ime.usp.br/~andrers/aulas/bd2005-1/aula3
https://www.devmedia.com.br/a-historia-dos-banco-de-dados/1678
https://db-engines.com/en/ranking
https://www.opservices.com.br/banco-de-dados/
https://www.quora.com/What-is-a-canned-transaction
[362]
Para saber mais
Outras referências:
https://www.geeksforgeeks.org/impedance-mismatch-in-dbms/#:~:text=Im
pedance%20mismatch%20is%20the%20term,Attributes%20and%20their%2
0data%20types
https://www.oreilly.com/library/view/mysql-reference-manual/059600265
3/ch03s05.html
[363]
Para saber mais
Outras referências:
https://docs.oracle.com/pt-br/solutions/deploy-lustre-fs/index.html#:~:text=Lustre
%20%C3%A9%20um%20sistema%20de,do%20Linux%20e%20do%20cluster
.
https://stackoverflow.com/questions/1075074/opinions-on-netcdf-vs-hdf5-for-stori
ng-scientific-data#:~:text=NetCDF%2C%20starting%20with%20version%204.0,a%20
much%20wider%20tool%20base
[364]
Para saber mais
Empresas e SGBDs:
https://www.quora.com/What-are-all-the-DBMS-that-are-being-used-by-Google-Fac
ebook-and-Twitter-1
https://introbigdata.org/
https://www.mongodb.com/big-data-explained/examples
https://intellipaat.com/blog/10-big-data-examples-application-of-big-data-in-real-lif
e/
https://instagram-engineering.com/instagration-pt-2-scaling-our-infrastructure-to-m
ultiple-data-centers-5745cbad7834
[365]
Para saber mais
Empresas e SGBDs:
https://blog.twitter.com/engineering/en_us/topics/infrastructure/2017/the-infrastr
ucture-behind-twitter-scale#:~:text=Twitter%20was%20built%20on%20MySQL,even
tually%20many%20large%20database%20clusters
.
https://www.mysql.com/customers/view/?id=757
https://engineering.linkedin.com/espresso/introducing-espresso-linkedins-hot-new-
distributed-document-store#:~:text=To%20meet%20the%20needs%20of,both%20se
rving%20different%20use%20cases
[366]
Desafio textual
• Dados e banco de dados
• SGBD, Sistema de Banco de Dados e Catálago
de BD
Defina!
• Independência program/data, user view
• DBA, transações canned, metadados e
aplicação de processamento de transação
[367]
Desafio
Artigo/work
Entidades
Pesquisador/autor
[368]