Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
EPUSP-PMR
PROGRAMA
1.Introduo
1.1 Evoluo do armazenamento de dados
1.2 Arquitetura de um DBMS
2.Modelo Relacional
2.1 Modelo E-R
2.2 Modelo Relacional
2.3 Operaes
EPUSP-PMR
PROGRAMA
3.SQL Bsico
EPUSP-PMR
PROGRAMA
4.SQL Avanado
EPUSP-PMR
4.1 Indexao
4.2 Joins
4.3 Views
4.4 Triggers
4.5 Constraints
PROGRAMA
5, 6, 7, 8. Apresentao do Projeto
Cada aluno far um projeto de banco de dados
especificando o caso de estudo, a aplicao, a
modelagem do banco de dados, o fluxo de
informao e como utiliz-lo como Data Ware
House.
EPUSP-PMR
1.Introduo
1.1 Evoluo do armazenamento de dados
1.2 Arquitetura de um DBMS
EPUSP-PMR
EPUSP-PMR
Caractersticas de um DBMS
Usurios devem poder definir seu schema (estrutura lgica
dos dados), usando uma linguagem apropriada (DDL, data
definition language)
Usurios devem poder realizar perguntas e acessos (query)
sem conhecimento da estrutura de armazenamento dos dados,
usando uma linguagem apropriada (DML, data manipulation
language ou query-language)
Usurios devem poder acessar grandes volumes de dados de
forma eficiente
Usurios devem poder acessar dados de forma independente
uns dos outros, sob controle de acesso
EPUSP-PMR
Schwarzenegger
Basic Instinct
Total Recall
EPUSP-PMR
Schwarzenegger
Basic Instinct
Total Recall
EPUSP-PMR
10
Basic Instinct
Schwarzenegger
Total Recall
Stone
Total Recall
EPUSP-PMR
11
Arquitetura de um DBMS
Schema
Queries
Query Processor
Transaction Mng
Storage Manager
Data
Metadata
EPUSP-PMR
12
Storage Manager
Composto por
File Manager, responsvel pela manipulao do disco
Buffer Manager, responsvel pelos dados em memria
(cache, paginao)
EPUSP-PMR
13
Query Manager
Composto por
Query translator (de SQL para acessos a dados armazenados)
Query optimizer
EPUSP-PMR
14
Transaction Manager
Garante as propriedades ACID
Atomicidade (Atomicity): uma transao indivisvel; ou
ela acontece ou no
Consistncia (Consistency):Antes e aps uma transao, o
estado do banco de dados consistente
Isolao (Isolation):Se duas ou mais transaes
acontecem simultaneamente, seus efeitos devem ser
isolados
Durabilidade (Durability): Se uma transao se completa,
seus efeitos no devem cessar mesmo que o sistema falhe
imediatamente aps
EPUSP-PMR
15
Transaction Manager
Lock
Define o nvel de isolao
Pgina
Linha
Logging
Armazenamento no voltil
Commit
Durabilidade da transao
EPUSP-PMR
16
Transaction Manager
ndice
Hash
Balanced tree
Binary tree
EPUSP-PMR
17
2.Modelo Relacional
2.1 Modelo E-R
2.2 Modelo Relacional
2.3 Operaes
EPUSP-PMR
18
Ciclo de Projeto
Requisitos
Projeto Conceitual
Schema conceitual
Projeto Lgico
E-R
Schema lgico
Projeto Fsico
Schema fsico
EPUSP-PMR
SQL
19
Conceitos bsicos
Entidade
Representam classes do mundo real
Relacionamento
Representam agregaes entre duas ou mais
entidades
Os relacionamentos podem ser
Binrios: entre duas entidades
N-rios: entre N entidades
Recursivos: de uma entidade para ela prpria
EPUSP-PMR
20
min_card(Ordem, remessa) = 0
max_card(Ordem, remessa) = 1
min_card(Fatura, remessa) = 1
max_card(Fatura, remessa) = 1
Ordem
EPUSP-PMR
(0,1)
remessa
(1,1)
Fatura
21
min_card(Pessoa, mora_em) = 0
max_card(Pessoa, mora_em) = 1
min_card(Cidade, mora_em) = 0
max_card(Cidade, mora_em) = n
Pessoa
EPUSP-PMR
(1,1)
mora_em
(0,n)
Cidade
22
min_card(Produto, usa) = 1
max_card(Produto, usa) = n
min_card(Materiais, usa) = 0
max_card(Materiais, usa) = n
Produto
EPUSP-PMR
(1,n)
usa
(0,n)
Materiais
23
min_card(Empregado, chefia) = 0
max_card(Empregado, chefia) = n
min_card(Empregado, responde_a) = 0
max_card(Empregado, responde_a) = 1
Empregado
(0,n)
gerencia
chefia
(0,1)
responde_a
EPUSP-PMR
24
Matria
(1,3)
aula
(0,40)
Sala
(0,n)
Dia
EPUSP-PMR
25
Aluno
(1,n)
aula
(0,n)
Disciplina
(0,1)
Professor
EPUSP-PMR
26
EPUSP-PMR
27
EPUSP-PMR
28
Decidir a Cardinalidade
Modelagem de Dados uma Arte
Nota Fiscal, Item de Nota Fiscal e Produto
Nota Fiscal
(1,n)
possui
(1,1)
Item de NF
(1,1)
associa
(1,n)
Produto
EPUSP-PMR
29
Decidir a Cardinalidade
Modelagem de Dados uma Arte
Todas as notas fiscais tm, no mnimo, um item de nota fiscal
relacionado;
Todo item de nota fiscal est relacionado a uma nota fiscal;
Todo item de nota fiscal est relacionado a um produto.
EPUSP-PMR
30
Atributos
Atributos so propriedades elementares de
entidades e relacionamentos
Nome
Pessoa
RG
Profisso
mora_em
Data_da_mudana
EPUSP-PMR
31
Identificadores (chaves)
Identificadores (chaves) so conjuntos de
atributos que podem determinar unicamente
uma entidade
Nome
Pessoa
EPUSP-PMR
RG
Profisso
32
Identificadores (chaves)
Simples ou compostos
Internos ou externos
Empregado (1,1)
trabalha_no
(1,n) Departamento
ID
Nota: Empregado uma entidade fraca
EPUSP-PMR
33
Agregao
Um assassino faz vtimas. Quando ele assassina,
utiliza armas.
Assassino
Assassina
Vtima
Usa
Arma
EPUSP-PMR
34
Agregao
Existem na realidade dois relacionamentos para retratar um fato
por completo.
O que desejamos relacionar uma ocorrncia de Arma, com
uma ocorrncia do fato, do relacionamento Assassina.
Assassino
Faz
Crime
Tem
Vtima
Usa
Arma
EPUSP-PMR
35
Agregao
Consulta
Mdico
Atende
Consulta
Paciente
Receita
Remdio
EPUSP-PMR
36
Problemas 2.1
a.Prepare um diagrama E-R para um sistema de
controle de pedidos
b.Mostre dois identificadores para a entidade
DETALHE
PRODUTO
CABEALHO
nro_linha
EPUSP-PMR
DETALHE
37
2.2.Modelo Relacional
Conceitos bsicos
Relao: tabela bi-dimensional
Atributos: nomes das colunas da tabela
Schema: nome da relao e atributos
Filme(Ttulo, Ano, Durao, Classificao)
EPUSP-PMR
38
2.2.Modelo Relacional
Formas normais
O conceito de normalizao foi introduzido por E.F.Codd em
1970 (primeira forma normal). Esta tcnica um processo
matemtico que tem seus fundamentos na teoria dos conjuntos.
Atravs deste processo pode-se, gradativamente, substituir um
conjunto de entidades e relacionamentos por um outro, o qual se
apresenta purificado em relao s anomalias de atualizao
(incluso, alterao e excluso) as quais podem causar certos
problemas, tais como: grupos repetitivos (atributos
multivalorados) de dados, dependncias parciais em relao a
uma chave concatenada, redundncia desnecessria de dados,
dificuldade na representao de fatos da realidade observada e
dependncias transitivas entre atributos.
EPUSP-PMR
39
2.2.Modelo Relacional
Fomulrio de Pedido
Num. Ped. Cliente
3445
TCA
3445
TCA
3445
TCA
3445
TCA
3445
TCA
3445
TCA
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
2610
Lopes
EPUSP-PMR
Endereo
R. Meira
R. Meira
R. Meira
R. Meira
R. Meira
R. Meira
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
R. 127
CGC
1111111
1111111
1111111
1111111
1111111
1111111
23232323
23232323
23232323
23232323
23232323
23232323
23232323
23232323
23232323
23232323
IE
111111
111111
111111
111111
111111
111111
34343434
34343434
34343434
34343434
34343434
34343434
34343434
34343434
34343434
34343434
Quant.
20
2
30
50
40
3
50
47
20
15
15
10
10
5
20
30
Descrio Val.
lcool
tecido
farinha
cimento
cola
chumbo
lcool
cimento
pregos
tinta azul
cola
arame
algodo
querosene
fio eltrico
linha 10
40
2.2.Modelo Relacional
Nmero do pedido
Prazo de entrega
Cliente
Endereo
Cidade
UF
CGC
Inscrio Estadual
Cdigo do produto
Unidade do produto
EPUSP-PMR
Quantidade do produto
Descrio do produto
Valor unitrio do produto
Valor total do produto
Valor total do pedido
Cdigo do vendedor
Nome do vendedor
41
2.2.Modelo Relacional
Formas normais
Caso esta entidade fosse implementada como uma
tabela em um banco de dados, as seguintes anomalias
iriam aparecer:
Anomalia de incluso: ao ser includo um novo cliente, o
mesmo tem que estar relacionado a uma venda;
Anomalia de excluso: ao ser excludo um cliente, os dados
referentes as suas compras sero perdidos;
Anomalia de alterao: caso algum fabricante de produto
altere a faixa de preo de uma determinada classe de
produtos, ser preciso percorrer toda a entidade para se
realizar mltiplas alteraes.
EPUSP-PMR
42
2.2.Modelo Relacional
43
2.2.Modelo Relacional
Pedido
EPUSP-PMR
(1,n)
Possui
(1,1)
Item de Pedido
44
2.2.Modelo Relacional
PEDIDO
Nmero do pedido
Prazo de entrega
Cliente
Endereo
Cidade
UF
CGC
Inscrio Estadual
Valor total do pedido
Valor total do pedido
Cdigo do vendedor
Nome do vendedor
EPUSP-PMR
ITEM DE PEDIDO
Nmero do pedido
Cdigo do produto
Quantidade do produto
Descrio do produto
Valor unitrio do produto
Valor total do produto
Unidade do produto
45
2.2.Modelo Relacional
Dependncia Funcional
EPUSP-PMR
46
2.2.Modelo Relacional
EPUSP-PMR
47
2.2.Modelo Relacional
EPUSP-PMR
48
2.2.Modelo Relacional
EPUSP-PMR
49
2.2.Modelo Relacional
EPUSP-PMR
50
2.2.Modelo Relacional
(1,n)
Possui
(1,1)
Item de Pedido
(1,1)
Participa
(0,n)
EPUSP-PMR
Produto
51
2.2.Modelo Relacional
EPUSP-PMR
52
2.2.Modelo Relacional
Na entidade PEDIDO, podemos observar que o atributo NOME-DOVENDEDOR depende transitivamente do atributo CDIGO-DOVENDEDOR que no pertence chave primria. Para eliminarmos esta
anomalia devemos criar a entidade VENDEDOR, com o atributo NOMEDO-VENDEDOR e tendo como chave primria o atributo CDIGO-DOVENDEDOR;
Encontramos ainda o conjunto de atributos formados por ENDEREO,
CIDADE, UF, CGC e INSCRIO ESTADUAL que dependem
transitivamente do atributo CLIENTE. Neste caso, devemos criar a entidade
CLIENTE que conter os atributos ENDEREO, CIDADE, UF, CGC e
INSCRIO ESTADUAL. Para chave primria desta entidade vamos criar
um atributo chamado CDIGO-DO-CLIENTE que funcionar melhor como
chave primria do que NOME-DO-CLIENTE, deixando este ltimo como
simples atributo da entidade CLIENTE.
EPUSP-PMR
53
2.2.Modelo Relacional
Pedido
(1,1)
Faz
(0,n)
Cliente
EPUSP-PMR
Possui
(1,1)
(1,1)
Item de Pedido
(1,1)
Tira
(0,n)
Vendedor
Participa
(0,n)
Produto
54
2.2.Modelo Relacional
EPUSP-PMR
55
2.2.Modelo Relacional
EPUSP-PMR
56
2.2.Modelo Relacional
Por hiptese, vamos assumir que um professor possa estar associado a mais
de uma escola e uma sala. Sob esta suposio, tanto a chave (candidata)
concatenada NOME-DA-ESCOLA + SALA-DA-ESCOLA bem como
NOME-DA-ESCOLA + NOME-DO-PROFESSOR podem ser determinantes.
Logo esta entidade atende s trs condies relacionadas anteriormente.
EPUSP-PMR
57
2.2.Modelo Relacional
EPUSP-PMR
58
2.2.Modelo Relacional
EPUSP-PMR
Nome do Filho
Endereo do Filho
Data Nascimento
Nome da Escola
Nmero da Sala
59
2.2.Modelo Relacional
EPUSP-PMR
Cdigo da Pea
BA3
CJ10
88A
BA3
Cdigo do Comprador
113
113
435
537
60
2.2.Modelo Relacional
Como podemos observar, esta entidade tenta conter dois fatos multivalorados:
as diversas peas compradas e os diversos compradores. Com isto apresenta
uma dependncia multivalorada entre CDIGO-FORNECEDOR e o
CDIGO-PEA e entre CDIGO-FORNECEDOR e o CDIGOCOMPRADOR. Embora esteja na 3FN, ao conter mais de um fato
multivalor, torna a sua atualizao muito difcil, bem como a possibilidade de
ocorrer problemas relativos ao espao fsico de armazenamento, causados
pela ocupao desnecessria de rea de memria;
Para passarmos a entidade acima para a 4FN, necessria a realizao de
uma diviso da entidade original, em duas outras, ambas herdando a chave
CDIGO-FORNECEDOR e concatenado, em cada nova entidade, com os
atributos CDIGO-PEA e CDIGO-COMPRADOR.
Cdigo do Fornecedor
Cdigo da Pea
EPUSP-PMR
Cdigo do Fornecedor
Cdigo do Comprador
61
Seleo
Produz uma nova relao R com um subconjunto
das tuplas originais
62
Operaes de conjunto
R, S sendo relaes, tem-se
R S : unio
R S : interseco
R - S : diferena
aplicam-se sobre os elementos de R e S
EPUSP-PMR
63
Projeo
Seleo de um ou mais atributos de uma relao
ttulo, ano (Filmes)
selecionaria os atributos Ttulo e Ano da relao
Filmes.
EPUSP-PMR
64
Produto Cartesiano
O produto R x S o conjunto de pares formados
tomando-se o primeiro elemento do par como
sendo um elemento qualquer de R e o segundo,
um elemento de S
EPUSP-PMR
A
1
3
B
2
4
A
1
1
1
3
3
3
R.B
2
2
2
4
4
4
S.B
2
4
9
2
4
9
B
2
4
9
C
5
7
10
C
5
7
10
5
7
10
D
6
8
11
6
8
11
D
6
8
11
65
Join
O join natural R S o produto das duas relaes,
relacionando somente as tuplas que
correspondem em um dado sentido
EPUSP-PMR
A
1
6
9
B
2
7
7
C
3
8
8
A
1
1
6
9
B
2
2
7
7
C
3
3
8
8
B
2
2
7
C
3
3
8
D
4
5
10
D
4
5
10
10
66
Problemas 2.3
a. Para o modelo relacional do sistema de pedidos,
calcule as operaes para alguma(s) das
relaes.
EPUSP-PMR
67
Produto Cartesiano
O produto R x S o conjunto de pares formados
tomando-se o primeiro elemento do par como
sendo um elemento qualquer de R e o segundo,
um elemento de S
EPUSP-PMR
68
2.2.Modelo Relacional
Problemas 2.2
a.Converta o modelo E-R para o relacional
b.Analise o modelo relacional obtido em a. em
relao s formas normais
EPUSP-PMR
69