New ocessamento de Big Data - UFPR · 2018. 7. 23. · Por ex. animais fantásticos e onde habitam?...
Transcript of New ocessamento de Big Data - UFPR · 2018. 7. 23. · Por ex. animais fantásticos e onde habitam?...
Aula #5 - Projeto de Banco de DadosEDUARDO CUNHA DE ALMEIDA
INDU
STRI
A 4.
0Pr
oces
sam
ento
de
Bi
g Da
ta
PÓS ENGENHARIA INDUSTRIAL 4.0
Agenda
UNIVERSIDADE FEDERAL DO PARANÁ 2
- Bancos de dados - Problemas de modelagem - Modelo Conceitual - Entidades - Relacionamentos
- Exercícios
Banco de Dados
“Coleção organizada de dados: - representa aspectos do mundo real - possui coerência (sem conjuntos aleatórios) - construído para um projeto específico” [Elmasri e Navathe]
4
Banco de Dados vs. Sistema de arquivos
Benefícios de um BD: - Natureza auto descritiva - Abstração de acesso aos dados - Visão múltipla - Compartilhamento
4
Natureza auto descritiva
- Dados - Meta dados (informação sobre o dado)
4
CREATE TABLE INST_DISC( INSTRUTOR VARCHAR(50); DISCIPLINA VARCHAR(50); CARGA_H INT;
);
Natureza auto descritiva
- Dados - Meta dados (informação sobre o dado)
4
CREATE TABLE INST_DISC( INSTRUTOR VARCHAR(50); DISCIPLINA VARCHAR(50); CARGA_H INT;
);
nome de tabelas
CREATE TABLE INST_DISC( INSTRUTOR VARCHAR(50); DISCIPLINA VARCHAR(50); CARGA_H INT;
);
Natureza auto descritiva
- Dados - Meta dados (informação sobre o dado)
4
nome de atributos
CREATE TABLE INST_DISC( INSTRUTOR VARCHAR(50); DISCIPLINA VARCHAR(50); CARGA_H INT;
);
Natureza auto descritiva
- Dados - Meta dados (informação sobre o dado)
4
tipos de atributos
CREATE TABLE INST_DISC( INSTRUTOR VARCHAR(50); DISCIPLINA VARCHAR(50); CARGA_H INT;
);
Natureza auto descritiva
- Dados - Meta dados (informação sobre o dado)
4
Abstração no acesso aos dados - Isolamento entre programas e dados
4
1
2 2 87 1 15 6
11728
8 1 1 1 1 1 1
programa
he sen***
12
****
*1** 1* **
*71
****
***31*
FILE *F; F = fopen(“/path/arvore…”); BTree *arv = achar tabela em F; for t in arv:
emit(t);
FILE *F; F = fopen(“/path/skiplist…”); SkipList *sl = achar tabela em F; for t in sl:
emit(t);
Abstração no acesso aos dados - Isolamento entre programas e dados
4
1
2 2 87 1 15 6
11728
8 1 1 1 1 1 1
programa
he sen***
12
****
*1** 1* **
*71
****
***31*
Visão múltipla dos dados - Subconjunto de dados com acesso limitado
4
Por ex. animais fantásticos e onde habitam?
Visão múltipla dos dados - Subconjunto de dados com acesso limitado
4
Por ex. animais fantásticos e onde habitam?programa
FILE *arq; arq = fopen("INSTRUTOR","r"); char linha[1024]; while(fgets(linha, 1024, arq)){ // parse da linha }
Visão múltipla dos dados - Subconjunto de dados com acesso limitado
4
Por ex. animais fantásticos e onde habitam?programa
Visão múltipla dos dados - Subconjunto de dados com acesso limitado
4
programa
Visão múltipla dos dados - Subconjunto de dados com acesso limitado
4
programa
Compartilhamento - Permite acesso concorrente
4
programa
programa
Compartilhamento
4
programaprogramaprogramaprogramaprograma
- Permite acesso concorrente
programa
Compartilhamento
4
programaprogramaprogramaprogramaprograma
- Permite acesso concorrente
4
0 1 2 3 4
Mem
TP
(GB/
s)
OS/MonetDB
(a)
0 1 2 3 4
Mem
TP
(GB/
s) Adaptive/MonetDB
(b)
0 1 2 3 4
Mem
TP
(GB/
s) OS/SQL Server
(c)
0 1 2 3 4
0 50 100 150 200 250 300 350Mem
TP
(GB/
s)
Time (s)
Adaptive/SQL Server
(d)S0 S1 S2 S3
conc
urre
nt e
xecu
tion
of T
PC-H
(256 U
SERS
, 1 GB
DATA
BASE
, MON
ETDB
/SQLS
ERVE
R)
PÓS ENGENHARIA INDUSTRIAL 4.0
Agenda
UNIVERSIDADE FEDERAL DO PARANÁ 21
- Bancos de dados - Problemas de modelagem - Modelo Conceitual - Entidades - Relacionamentos
- Exercícios
Exemplo: quantas matriculas em disciplinas tem Maria? (1)
22
aluno instructor
Maria Eduardo
Maria André
Maria David
Tabela: T1aluno disciplina
Maria ci218
Maria ci056
Maria ci057
Tabela: T2⋈
23
aluno instrutor disciplina
Maria Eduardo ci218
Maria Eduardo ci056
Maria Eduardo ci057
Maria André ci218
Maria André ci056
Maria André ci057
Maria David ci218
Maria David ci056
Maria David ci057
programa=> SELECT * from T1 natural join T2;
9 matriculas!!!
Exemplo: quantas matriculas em disciplinas tem Maria? (1)
Exemplo: quantas matriculas em disciplinas tem Maria? (2)
24
disciplina instrutor
ci218 Eduardo
ci056 André
ci056 David
ci218 Sunye
ci057 Didonet
ci218 Carmem
Tabela: T1aluno disciplina
Maria ci218
Maria ci056
Maria ci057
Tabela: T2⋈
25
aluno instrutor disciplina
Maria Eduardo ci218
Maria Sunye ci218
Maria Carmem ci218
Maria André ci056
Maria David ci056
Maria Didonet ci057
programa=> SELECT * from T1 natural join T2;
6 matriculas!!!
Exemplo: quantas matriculas em disciplinas tem Maria? (2)
Exemplo: quantas matriculas em disciplinas tem Maria? (3)
26
disciplina instrutor
ci218 Eduardo
ci056 André
ci056 David
ci218 Sunye
ci057 Didonet
ci218 Carmem
Tabela: T1aluno instrutor
Maria Eduardo
Maria André
Maria Didonet
Tabela: T2⋈
27
aluno instrutor disciplina
Maria Eduardo ci218
Maria André ci056
Maria Didonet ci057
programa=> SELECT * from T1 natural join T2;
3 matriculas!!!
Exemplo: quantas matriculas em disciplinas tem Maria? (3)
PÓS ENGENHARIA INDUSTRIAL 4.0
Agenda
UNIVERSIDADE FEDERAL DO PARANÁ 28
- Bancos de dados - Problemas de modelagem - Modelo Conceitual - Entidades - Relacionamentos
- Exercícios
“Modelo abstrato de um aspecto do mundo real.”
4
Entidade-Relacionamento (ER)
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 30
Elementos do ER
Entidade Algo do mundo real com existência
independente e seus atributos
ex. “Aluno”, “Professor”
Associação entre entidades
ex. “Orienta”, “Participa”, “Possui”
atributo atributo atributo
atributo
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 31
Professor Orienta
Cliente Possui Conta
nome idade endereço
nome idade desde
desde
codigo tipo
rua cep
Aluno
matricula {telefone} ano_ingresso
Elementos do ER
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 32
Professor Orienta
Cliente Possui Conta
nome idade endereço
nome idade desde
desde
codigo tipo
rua cepatributo chave
Aluno
matricula ano_ingresso
Elementos do ER
{telefone}
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 33
Professor Orienta
Cliente Possui Conta
nome idade endereço
nome idade desde
desde
codigo tipo
rua cep
atributo composto
Aluno
matricula ano_ingresso
Elementos do ER
{telefone}
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 34
Professor Orienta Aluno
Cliente Possui Conta
nome idade endereço matricula ano_ingresso
nome idade desde
desde
codigo tipo
rua cep
atributo derivado
Elementos do ER
{telefone}
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 35
Professor Orienta Aluno
Cliente Possui Conta
nome idade endereço matricula ano_ingresso
nome idade desde
desde
codigo tipo
rua cep
atributo multivalorado
Elementos do ER
{telefone}
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 36
Professor Orienta Aluno
Cliente Possui Conta
nome idade endereço matricula ano_ingresso
nome idade desde
desde
codigo tipo
rua cep
atributo de relacionamento
Elementos do ER
{telefone}
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 37
Empregado Possui
nome idade endereço nome_d idade desde rua cep
Elementos do ER
DependentePossui
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 38
Empregado Possui
nome idade endereço desde
rua cep
entidade fraca
Elementos do ER
DependentePossui
nome_d idade
Existência depende de outra entidade
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 39
Professor Orienta Aluno
Cardinalidade
Professor Orienta Aluno
Professor Orienta Aluno
um-pra-um
um-pra-muitos
muitos-pra-muitos
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 40
Professor Orienta Aluno
Cardinalidade (limites)
Professor Orienta Aluno
Professor Orienta Aluno
um-pra-um
um-pra-muitos
muitos-pra-muitos
1 1
1 n
n m
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 41
Mapeamento de cardinalidade
Professor Orienta Aluno 1 1
p1
p2
p3
a1
a2
a3
p1,a1
p2,a2
p3,a3
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 42
Mapeamento de cardinalidade
Professor Orienta Aluno 1 n
a1
a2
a3
a4
a5
p1,a1
p2,a2
p2,a5
p3,a3
p3,a4
p1
p2
p3
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 43
Mapeamento de cardinalidade
Professor Orienta Aluno n m
a1
a2
a3
a4
a5
p1,a1
p2,a2
p2,a5
p3,a5
p1
p2
p3
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 44
Limites de cardinalidade (min,max)
Professor Orienta Aluno 0:n 1:1
a1
a2
a3
a4
p1,a1
p2,a2
p2,a4
p3,a4
p3,a3
p1
p2
p3
p4
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 45
Limites de cardinalidade (min,max)
Professor Orienta Aluno 1:n 1:1
a1
a2
a3
a4
p1,a1
p2,a2
p2,a4
p3,a4
p4,a3
p1
p2
p3
p4
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 46
Exemplo Construa um diagrama ER para uma empresa de venda de livros. Autores escrevem 1 ou mais livros publicados por uma editora. Cada cliente possui 1 cesta de compras que pode conter muitos livros.
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 47
Autor escreve Livro 1:n 1:n
nome_a genero
isbn
titulo
preço
Editora
publica
1:1
1:n
Cliente possui 0:1
Cesta
1:1
0:n
0:n
Exercício: converter este ER
nome_c
nome_e
id_cesta
endereço
rua cep Cesta
possui data_compra
compra
quantidade
URL
PÓS ENGENHARIA INDUSTRIAL 4.0
Agenda
UNIVERSIDADE FEDERAL DO PARANÁ 48
- Bancos de dados - Problemas de modelagem - Modelo Conceitual - Entidades - Relacionamentos
- Exercícios
PÓS ENGENHARIA INDUSTRIAL 4.0UNIVERSIDADE FEDERAL DO PARANÁ 49
Exercício Construa um diagrama ER para uma empresa de seguros. Clientes possuem 1 ou mais carros. Cada carro pode ter sinistro (mas não necessariamente). Cada apólice cobre 1 ou mais carros e seu pagamento pode ser feito de diversas formas com datas de vencimento e pagamento da apólice.
Aula #5 - Projeto de Banco de DadosEDUARDO CUNHA DE ALMEIDA
INDU
STRI
A 4.
0Pr
oces
sam
ento
de
Bi
g Da
ta