Você está na página 1de 145

1

BANCO DE DADOS
Prof. Esp. Nivaldo Cardoso

4 Bloco do Curso de Tecnologia em Redes
de Computadores CET

2
ndice ...

Conceitos de Bancos de
Dados
Nveis de Abstrao
SGBD X SGA
Modelos de dados
Modelos Lgicos de Dados


Porque modelagem de
dados
Modelo de Entidades e
Relacionamentos
Extenses do MER
Mapeamento MER para o
Modelo Relacional



3
... ndice ...
Ferramenta CASE
Modelo Relacional
Normalizao
lgebra relacional
Linguagem SQL
Catlogo


Stored Procedure
Triggers
Integridade Referencial
Declarativa
Integridade Referencial
Procedural
4
...CONCEITOS DE BANCO DE DADOS...
Dados Operacionais
Projetos
Funcionrios
Departamentos
Produtos
Fornecedores
Aloca
Fornece
Lota
5
... SGBD X SGA ...
Mundo real
MER
SGBDOO
Relacional
Rede
Hierrquico
SGBD Especfico
SGA
Mquina
6
... MODELOS DE DADOS ...
Conceitual
Lgico
Fsico
Modelo Conceitual
descreve dados num nvel de
abstrao muito prximo ao
mundo real
Exemplos:
Modelo Semntico
MER
Mundo
real
7
... MODELOS DE DADOS ...
Conceitual
Lgico
Fsico
Modelo Lgico
descreve dados ao nvel de
registro bem prximo da
implementao fsica.

Exemplos:
Relacional
Rede
Hierrquico

Mundo
real
8
... MODELOS DE DADOS ...
Conceitual
Lgico
Fsico
Modelo Fsico
descreve as estruturas de dados
ao nvel de armazenamento
fsico dos dados, definindo:
Tipo e tamanho de dados
ndices

Mundo
real
9
... MODELOS DE DADOS ...


Fase do Projeto de BD
Modelo de Dados
Conceitual Semntico / MER
Lgico
Relacional
Rede
Hierrquico
Fsico
Fsico


Mundo
real
10
... CLASSIFICAO DE BD ...
MER RELACIONAL REDE HIERRQUICO

{ENTIDADES} {TABELAS} {GRAFOS} {RVORES}

ENTIDADE LINHA REGISTRO SEGMENTO

RELACION. IMPLCITO EXPLCITO EXPLCITO
PARES COLS. PONTEIRO PONTEIRO

ATRIBUTO COLUNA CAMPO CAMPO
11
POR QUE MODELAGEM DE DADOS ?...
com o crescente uso de sgbds , em face da
necessidade de aplicaes cada vez mais
complexas, inevitvel esta abordagem
os relacionamentos representam a obteno
de respostas a certas necessidades de
informao por parte do usurio
12
...POR QUE MODELAGEM DE DADOS ?
modelo prvio de dados um
excelente instrumento de documentao
do mundo real, em tempo de entrevista
levanta e documenta a parte mais estvel
de uma aplicao: os dados
execelente ferramenta grfica de projeto
conceitual de bd
13
MODELO DE ENTIDADES E RELACIONAMENTOS (MER) ...
proposto por Peter S. Chen - 1976
entidade
-algo sobre o que se armazena dados
-representao abstrata de algo do mundo real
ex.: aluno, cliente, nota fiscal, ...
conjunto de entidades - grupo de entidades
com caractersticas semelhantes ex.: alunos,
clientes, notas fiscais,...
14

... MER ...
ATRIBUTOS
so caractersticas de entidades ou de
relacionamentos
so funes que levam um ponto do conjunto de
entidades ou de relacionamentos a um ponto de
um conjunto de valores



M
F
100
200
FUNCIONRIOS
MATRCULA
SEXO
15
... MER ...
relacionamento - associao entre elementos de
conjuntos de entidades
relacionamento binrio - um par ordenado
(e1, e2), onde e1 e e2 so respectivamente
elementos dos conjuntos das entidades E1 e E2
ALUNOS DISCIPLINAS CURSA
MAT NOM COD
DES
NOTA PERODO
16
... MER ...
conjunto de relacionamentos - grupo de
relacionamentos do mesmo tipo ;
no caso binrio, conjunto de pares ordenados
c (a, d) onde: a e A e d e D
grau de um relacionamento - nmero de
conjuntos de entidades envolvidos no
relacionamento.
ex.: unrio, binrio, ternrio, ...

17
... MER ...
classe ou cardinalidade dos relacionamentos
razo entre as quantidades de entidades com
que cada conjunto participa do relacionamento
exemplos de classes de relacionamentos:
binrios: 1 : 1 1 : n m : n
ternrios: 1 : m : n m : n : p

18
... MER ...

PROJETOS
FUNCIONRIOS
DEPARTAMENTOS
CHEFIA
TRABALHA
ALOCA
GERENCIA
DT-POSSE
DT-ALOC
HOR-TRAB
19
... MER ...
RELACIONAMENTO UNRIO OU RECURSIVO OU
AUTORELACIONAMENTO
PESSOAS PRODUTOS
CASA
COMPE
ESPOSA
MARIDO
1
1
M N
-COMPOSTO -COMPONENTE
PAPEL DA ENTIDADE NO RELACIONAMENTO
20
... MER ...
RELACIONAMENTO TERNRIO
ITENS
P-R-I
REQUISIES
PEDIDOS
M N
P
- A UM ITEM E UM PEDIDO CORREPONDEM N REQUISIES
- A UMA REQUISIO E UM PEDIDO CORRESPONDEM M ITENS
- A UMA REQUISIO E UM ITEM CORRESPONDEM P PEDIDOS
21
... MER ...
RELACIONAMENTO TERNRIO ...
PROFESSORES P-A-D ALUNOS
DISCIPLINAS
1 N
M
- UM ALUNO CURSA UMA DISCIPLINA COM UM PROFESSOR
- UM PROFESSOR MINISTRA UMA DISCIPLINA PARA N ALUNOS
- UM PROFESSOR MINISTRA PARA UM ALUNO M DISCIPLINAS
22
... MER
RELACIONAMENTO QUATERNRIO
CLIENTES
EXECUTA
FUNCIONRIOS
ATIVIDADES SISTEMAS
M
N
P
Q
CDA
NMA
CDS
NMS
NMF MAT
NMC
CDC
DT-FIM DT-INI
HOR-INI HOR-FIM
23
EXTENSES DO MER ...
atributos compostos - formados por mais de um
atributo
atributos multivalorados - levam uma entidade a
mais de um ponto do conjunto de valores
CLIENTES
oo FONES
o
ENDEREO
o
LOGRADOURO
o
CEP
o
o
o APTO
NUM
NOME
24
... EXTENSES DO MER ...
parcialidade / totalidade
- nem todo funcionrio gerencia um
departamento ( parcial)
- todo departamento gerenciado por
um funcionrio (total)
FUNCIONRIOS
DEPARTAMENTOS
GERENCIA
1 1
25
... EXTENSES DO MER ...
RELACIONAMENTOS TOTAIS E PARCIAIS
PESSOAS
CIDADES
MORA
NASCE
CASA
1
1
N
1
N 1
NOME
POPULAO
DT-NASC NOME
26
... EXTENSES DO MER ...
cardinalidade dos relacionamentos com
valores mximo e mnimo de entidades que
se associam
chave - identifica entidades
ALUNOS DISCIPLINAS
CURSA
( 0 , 40 )
( 1 , 6 )
MAT NOM COD DES PERODO NOTA
27

... EXTENSES DO MER ...

Agregao / Decomposio
Alunos Disciplinas
Cursa
Turmas
Ensina
Professores
Aluno -parte
da Turma
Disciplina -parte
da Turma
No h herana
m n
28
... EXTENSES DO MER ...
Mdicos Pacientes
Atende
Consultas
Faz
Exames
Mdico -parte
da Consulta
Paciente -parte
da Consulta
No h herana
AGREGAO - identificao de uma superentidade
a partir do relacionamento entre outras entidades
m
n
29
... EXTENSES DO MER ...
agregao - abstrao que permite:
- tratar relacionamentos como entidades de nvel
mais alto
- modelar um relacionamento entre uma entidade e
um relacionamento (este geralmente m : n)
30
... EXTENSES DO MER ...
GENERALIZAO / ESPECIALIZAO
CLIENTES
PESSOAS
FSICAS
PESSOAS
JURDICAS
ESPECIALIZAO
GENERALIZAO
COD
NOM
ENDER
CPF SEXO EST-CIV
NR-MESES-EX
MES-IN
CAPITAL
COD
CGC
COD
AS SUB-CATEGORIAS (SUB-TIPOS) HERDAM OS ATRIBUTOS
DA CATEGORIA (SUPERTIPO)
31
... EXTENSES DO MER ...
hierarquia de generalizao - uma categoria de
entidades C uma generalizao de um conjunto
de entidades S1, S2, ... , Sn, chamadas sub-
categorias de C, se cada conjunto de entidades Si
for um sub-conjunto de C e, cada instncia de C
for uma instncia de um e somente um dos
conjuntos de entidades S1, S2, ... , Sn
32
... EXTENSES DO MER ...
GENERALIZAO - formao de superclasses a partir
de outras classes; possvel falar: ... um...., ... um
tipo de ..., ... um subconjunto de ...
Professores
Concursados Visitantes
Concursado um professor
cod
nom
instituio
cod
periodo
cod
classific
dt-concurs
33
... EXTENSES DO MER ...
- ESPECIALIZAO - identificao de subclasses a
partir de uma classe; cada subclassse tem
caractersticas adicionais
Professores
Concursados Visitantes
cod
nom
instituio
cod
periodo
cod
classific
dt-concurs
Especializao
Generalizao
34
... EXTENSES DO MER ...
Func
Engenh Secretar Comission Mensalist Gerentes
Projetos N.Fiscais
Emite
Gerencia
1
n
1
1
nr-crea
toq.p.hora sal-mes
vlc
3 Espec de Func:
Engehn/Secretar
Gerentes
Mensalist/Comission
GEN / ESPEC
35
... EXTENSES DO MER ...

Z S ED D DI J
Z ED J
S D
Funcionrios
Pedreiros
Engenheiros
Um engenheiro -um funcionrio
Z, engenheiro, o funcionrio Z
O engenheiro Z a mesma entidade que o funcionrio Z,
apenas est desempenhando um papel diferente
GEN / ESPEC
36
... EXTENSES DO MER ...

Z S ED D DI J
Z ED J
S D
Funcionrios
Pedreiros
Engenheiros
Um pedreiro -um funcionrio
O pedreiro S o funcionrio S
O pedreiro S a mesma entidade que o funcionrio S,
apenas est desempenhando um papel diferente
GEN / ESPEC
37
... EXTENSES DO MER ...
Especializao pode ser Total (T), Parcial (P),
Exclusiva (E) ou com Interseo (I)
Pessoas
Homens Mulheres
(T, E)
Pessoas
Nomeados Concursados
Eng. Secret.
(P,I)
(P,E)
GEN / ESPEC
38
... EXTENSES DO MER ...
importante modelar especializao quando:
Certos atributos aplicam-se somente a algumas e
no a todas as entidades(objetos) da superclasse;
uma subclasse um conjunto de entidades ao
qual estes atributos se aplicam
Alguns relacionamentos podem envolver apenas
as entidades da subclasse(apenas os
comissionistas emitem nota fiscal)
39
... EXTENSES DO MER ...
importante modelar especializao quando:...
h acrscimo de clareza e semntica ao
modelo
h um certo nmero de atributos particulares
de uma ou mais subclasses
alguns relacionamentos envolvem apenas
elementos de uma subclasse
40
... EXTENSES DO MER ...
Automveis
Placa
Marca
Km
AnoFabricao
Preo
NrPassageiros
VelocidadeMxima

Caminhes
Placa
Marca
Km
AnoFabricao
Preo
Tonelagem
NrEixos
41
... EXTENSES DO MER ...
Veculos
Automveis Caminhes
Placa
Km
AnoFabric
Marca
Preo
Placa
Placa NrPassag VelMax NrEixos
Tonelagem
O relacionamento (1:1) entre objetos da superclasse e de
uma subclasse do tipo -um (caminho um veculo)
42
... EXTENSES DO MER ...
Depa
Func
Aloca
Gerencia
1
n
1
1
Depa
Func
Gerentes
Aloca
Gerencia
1
1 1
n
especializ (P)
MER
MERE
43
... EXTENSES DO MER
Depa
Func
Gerentes
Aloca
Gerencia
1 1
especializao
(P)
Depa
Func
Gerentes
o
o
1
n
MERE
MR
44
CHAVES ...
chave primria - conjunto de atributos que
identificam uma nica entidade ex.: MATF + NRD,
MAT, CDD ...
chave candidata- conjunto de atributos que podem
ser chave primria ex.: MAT, RG, CDD, ...
DEPARTS FUNCS DEPENDS
CDD NMD
MAT NMF SEX RG
SAL
CDDEP
MATF NRD NMD
45

chave secundria ou alternada - conjunto de
atributos que identificam um grupo de
entidades ex.: SAL, SEX, ...



... CHAVES ...

DEPARTS FUNCS DEPENDS
CDD NMD MAT NMF SEX RG
SAL
CDDEP
MATF NRD NMD
46




DEPARTS FUNCS DEPENDS
CDD NMD MAT NMF SEX RG
SAL
CDDEP
MATF NRD NMD
... CHAVES ...
chave estrangeira - conjunto de atributos que so
chave primria em outro conjunto de entidades
ex.:CDDEP, MATF , ...
47

... CHAVES ...

chave externa ou surrogate key - nmero sequencial
sem qualquer semntica, introduzido para ser chave
primria de um conjunto de entidades ex.:NRD, MAT, ...
DEPARTS FUNCS DEPENDS
CDD NMD MAT NMF SEX RG
SAL
CDDEP
MATF NRD NMD
48
... CHAVES
como escolher a chave primria
deve ser a menor possvel
valor no deve mudar ao longo da vida
da entidade
no pode ser null (nem parcial, nem
totalmente)
49
MAPEAMENTO MER --> MR...

FUNCIONRIOS PROJETOS
MAT NOM NMP CDP
ALOCA
DT-ALOC
FUNCIONRIOS PROJETOS
MAT NOM NMP CDP
N 1
CDP
DT-ALOC
CHAVE PRIMRIA DO LADO 1 VAI PARA O LADO N
ATRIBUTOS DO RELACIONAMENTO VO PARA O LADO N
1 : N
50
...MAPEAMENTO MER --> MR...

ALUNOS DISCIPLINAS
CURSA
M N
CDA
NMA
CDD
NMD NOTA PERODO
ALUNOS DISCIPLINAS
AL-DI
NMA
CDD
NMD
NOTA PERODO
CDA
M : N
. QUEBRA RELACIONAMENTO M : N EM DOIS 1 : N
. ATRIBUTOS DO RELACIONAMENTO FICAM NA ENTIDADE
INTERMEDIRIA
. CHAVES PRIMRIAS DAS ENTIDADES FAZEM PARTE DA
CHAVE PRIMRIA DA ENTIDADE INTERMEDIRIA
CDA CDD
51
...MAPEAMENTO MER --> MR...

MDICOS
HOSPITAIS DIRIGE
1 1
CDM NMM
CDH NMH
DT-POSSE
MDICOS
HOSPITAIS
CDM NMM
CDH NMH CDM
DT-POSSE
1 : 1
ATRIBUTOS DO RELACIONAMENTO VO PARA A ENTIDADE
QUE TEM PARTICIPAO TOTAL NO RELACIONAMENTO
CHAVE PRIMRIA DA ENTIDADE DO LADO PARCIAL VAI
PARA ENTIDADE QUE PARTICIPA TOTALMENTE
52
...MAPEAMENTO MER --> MR...

FUNCIONRIOS
CHEFIA
1
N
CHEFE
SUBORDINADO
MAT
NOM
FUNCIONRIOS
MAT NOM MATCHEFE
53
...MAPEAMENTO MER --> MR...

PEAS
COMPE
M
N
COMPONENTES
COMPOSTOS
COD
DES
PEAS COMPE
CD-COMPONENTE
QTD
QTD
CD-COMPOSTO
COD
DES
54
...MAPEAMENTO MER --> MR...

FUNCIONRIOS DEPARTAMENTOS
ALOCA
1 N
GERENCIA
1 1
CURSOS
CURSA
M N
CHEFIA
1
N
NOM MAT DES
CDD
NMC CDC
DT-ALOC
DT-POSSE
55
...MAPEAMENTO MER --> MR...

FUNCIONRIOS DEPARTAMENTOS
CURSOS CURSA
MAT NOM
CDD NMD
DT-POSSE
CDC NMC MAT CDC DT-CUR
MAT-CH
CHEFE SUBORDINADO
CDD
DT-ALOC
ALOCA
MAT-GER
GERENCIA
56
...MAPEAMENTO MER --> MR...

A R B
CA AA AR CB AB
A B
1 1
CA AA CB AB
CB AR
A R B A B
1 N
CA AA AR CB AB CA AA CB AB
CA AR
A R B
CA AA AR CB AB
M N
A A-B B
CA AA CB AB AR
CA CB
57
...MAPEAMENTO MER --> MR...
Relacionamento M X N se transforma em 2
relacionamentos 1 : N (1 nas pontas, N no meio)
FUNCIONRIOS DEPARTAMENTOS LOTAES
MAT NOM CDD NMD MAT CDD DAT
100 ARI
200 ANA
300 EVA
VEN VENDAS
PRO PRODUO
ADM ADMINISTRAO
100 ADM JAN / 80
100 VEN MAR / 85
200 VEN OUT / 86
300 PRO MAR / 90
58
...MAPEAMENTO MER --> MR...

A
B C
CA AA
AB AC
A
B C
CA AA
AB AC
CA CA
1
1
1
59
...MAPEAMENTO MER --> MR...

A
R
B
C
M
N
P
A
R
B
C
CA AA
CC AC
CB AB
AR
CC AC
CB AB
CA AA
CA
CB
CC
AR
60
...MAPEAMENTO MER --> MR

A
R
B
S
M
N
P
A
R
B
S
CC AS
CB AB CA AA
CA
CB AR
AR
C
CA CB
AC CC
C
AS
CC AC
CA AA
CB AB
Q
61
Ferramenta CASE ...
Metodologia IDEF1X
desenvolvida pela US Air Force
usada por vrios rgos do governo
americano e em vrias ferramentas CASE
representa relacionamentos via chaves
compartilhadas
usada por grandes empresas de diversas
reas

62
... Ferramenta CASE ...
Metodologia IDEF1X ...
Trata chaves como o modelo relacional
Chave primria (PK) do lado 1 vai para o lado N
relacionamento identificador (linha cheia):
chave estrangeira far parte da PK no lado N
relacionamento no identificador (linha
pontilhada):
chave estrangeira no far parte da chave
primria no lado N

63
... Ferramenta CASE
Metodologia IDEF1X ...
FunPro
mat (FK)
cdp (FK)
Proj
cdp
nmp
Depe
mat (FK)
seq
nomd
sexd
dtnascd
Func
mat
cdd (FK)
nom
sal
sex
dtnasc
Depa
cdd
dsd
64
Modelo Relacional ...
O modelo relacional foi proposto em um paper
clssico, por Ted Codd em 1970
O modelo tem como base matemtica a teoria
dos conjuntos e usa o conceito de relao
matemtica que se assemelha a uma tabela
bidimensional
O modelo relacional usa as operaes da
lgebra Relacional
65
... Modelo Relacional ...
Os elos so implcitos
O usurio v o banco de dados como um
conjunto de relaes (tabelas)
FUNCIONRIOS

MAT NOME DEPART

100 ANA VEN
200 EDU PRO
300 ARI ADM
400 EVA O&M


relao (tabela)
atributos
tuplas (linhas)
valor de atributo
domnios
66
... Modelo Relacional ...
Domnio conjunto de valores atmicos. Ex.:
- conjunto de nomes dos funcionrios
- conjunto de cdigos de departamentos
- conjunto de valores para sexo: M ou F
Esquema de uma relao: R (a
1
, a
2
, .....,a
n
) Ex.:
Func (mat, nom, sal, sex, depart)
Grau de uma relao nmero de atributos da
tupla da relao. Grau da relao acima = 5
67
... Modelo Relacional ...
RELAO - subconjunto do produto cartesiano dos
domnios R _ D1 X D2 X ..... X Dn
Produto cartesiano dos domnios - 64 tuplas
Relao Func (mat, nom, dep) - 4 tuplas
100
200
300
400
ANA
EVA
ARI
EDU
ADM
O&M
PRO
VEN
MATRCULAS NOMES DEPARTAMENTOS
68
... Modelo Relacional ...
UMA RELAO PODE SER REPRESENTADA
SOB A FORMA DE TABELA, ONDE:
- Cada coluna representa um atributo
- Cada linha representa uma ocorrncia de:
* UMA ENTIDADE
* UM RELACIONAMENTO
- Linha (tupla) um conjunto de atributos
69
... Modelo Relacional ...
UMA RELAO PODE SER REPRESENTADA SOB A
FORMA DE TABELA, ONDE: ...
- DOMNIO - conjunto de valores do atributo
- GRAU DE UMA RELAO - nmero de atributos da tupla
da relao
- CHAVE PRIMRIA - um ou mais atributos que identificam
uma nica linha (tupla)
- EX.: ALUNO (MAT, NOM, DT-NASC, SEXO)
70
... Modelo Relacional ...
Esquema relacional
Func (mat, nom, sal, sex, dtNasc, cdd, match)
Depa (cdd, dsd, orcamento)
Depe (mat, seq, nomd, sexd, parentesco)
Proj (cdp, dsp)
FunPro (mat, cdp, horasTrab)
Curso (cdc, dsc, cargaHoraria)
FunCurs (mat, cdc, datc, nota)

71
... Modelo Relacional
Propriedades das relaes
No pode haver tupla duplicada
No pode haver nome de atributo duplicado
No importa a ordem das tuplas na relao
No importa a ordem dos atributos na tupla
Os valores dos atributos so atmicos


72
... Modelo Relacional ...
Restries de integridade no modelo relacional - 1
Eliminao das redundncias
nenhum atributo de uma entidade pode ser
colocado em outra tabela, a no ser que seja
uma chave estrangeira
73
... Modelo Relacional ...
Restries de integridade no modelo relacional - 2
Integridade Referencial
a cada valor de chave estrangeira em uma
relao, deve corresponder igual valor de chave
primria em outra relao
Integridade de Entidade
nenhum atributo componente da chave primria
pode ser null (sem valor)
74
NORMALIZAO ...
Simplificao de relaes a fim de que os
algoritmos de atualizao de dados sejam mais
simples e mais claros
Como sub-produto: ELIMINAO DA
REDUNDNCIA DE DADOS
Resultado das pesquisas de E. F.CODD
75
... NORMALIZAO ...
a matrcula de um funcionrio determina
funcionalmente o nome bem como o salrio
do funcionrio
MATRCULA NOME

MATRCULA SALRIO
Se A determina funcionalmente B, ento
B depende funcionalmente de A, logo:
NOME DEPENDE FUNCIONALMENTE DE
MATRCULA
76
... NORMALIZAO ...
DEPENDNCIA FUNCIONAL
FUNC ( MAT, NOME, SAL, CPF)
MAT
NOME
SAL
CPF
MAT NOME
MAT SAL
MAT CPF

CPF SAL
CPF NOME
CPF MAT







77
... NORMALIZAO ...
DEPENDNCIA FUNCIONAL COMPLETA
um conjunto de atributos B de R
completamente dependente funcionalmente de
outro conjunto de atributos A de R, se B
depende funcionalmente de A, como um todo
78
... NORMALIZAO ...
TAREFA ( MAT, NOM, NU-PROJ, NM-PROJ, HORAS-TRAB)
MAT, NU-PROJ HORAS-TRAB
MAT NOM
MAT NOM NU-PROJ NM-PROJ
HORAS-TRAB
79
... NORMALIZAO ...
a chave primria deve :
- identificar uma nica tupla
- conter o mnimo de atributos
aps a escolha da chave, verificar :
- a chave pode ser simplificada pela retirada de
algum atributo?
- algum componente da chave tem valor indefinido?
80
... NORMALIZAO ...
QUAIS AS CHAVES DAS RELAES ABAIXO ?
PEDIDO (NR-PED, NR-CLIENTE, DT-PED, VL-PED)


HIST-ALUNO (MAT,NOM,CD-DISCIPLINA,NOTA, PERIODO)

VENDA (NR-PED, NR-CLI, NR-VENDEDOR, CD-ITEM,
QT-VENDIDA,PREO-UNIT, VL-ITEM)
81
... NORMALIZAO ...
1FN-NO H GRUPO DE ATRIBUTOS REPETIDOS
FUNC (MAT, NOM, ENDER, DT-NASC, DEPENDENTES
(NM-DEP, DT-NASC-DEP, PARENTESCO))

A relao no est em 1FN (RELAO NF2)

h n dependentes (grupos repetidos de
atributos ) por funcionrio
Normalizando, teramos:

FUNC ( MAT, NOM, ENDER, DT-NASC)

DEPEN (MAT, SEQ, NM-DEP, DT-NASCD,PARENTESCO)

82
... NORMALIZAO ...
2FN - A RELAO EST EM 1FN
- OS ATRIBUTOS NO-CHAVE DEPENDEM
FUNCIONALMENTE DA CHAVE TODA
ESTOQ(CD-ITEM, NM-ITEM, ESTAB, FONE-ESTAB, QTD)
CD-ITEM
NM-ITEM
ESTAB
FONE-ESTAB
QTD
ESTOQ no est em 2FN: nm-item
e fone-estab no dependem da
chave toda. Normalizando:

ITEM (CD-ITEM, NM-ITEM)

ESTA (ESTAB, FONE-ESTAB)

ESTO (CD-ITEM, ESTAB, QTD)
83
... NORMALIZAO ...
3FN - A RELAO EST EM 2FN
- OS ATRIBUTOS NO-CHAVE SO
INDEPENDENTES ENTRE SI
ITEM-PED (NR-PED, NR-ITEM, QTD, PR-UNIT, VL-ITEM)
NR-PED
NR-ITEM
QTD
PR-UNIT
VL-ITEM
ITEM-PED NO EST EM 3FN :

VL-ITEM DEPENDE DE PR-UNIT
E DE QTD QUE NO SO CHAVE

Normalizando:

IT-PED(NR-PED,NR-IT,QTD,VL-IT)

84
... NORMALIZAO ...
BCFN TODOS OS DETERMINANTES SO CHAVES
CANDIDATAS

PRODUTO (CD-PROD, DESCR, CD-ESTAB, FONE-ESTAB, QTD)
Determinantes: Chaves candidatas:
CD-PROD CD-PROD + CD-ESTAB
CD-ESTAB
CD-PROD + CD-ESTAB
Nem todo determinante chave candidata, logo, a relao
PRODUTO no est em BCFN. Normalizando:
PROD (CD-PROD, DESCR)
ESTAB (CD-ESTAB, FONE-ESTAB)
PRO-EST(CD-PROD, CD-ESTAB, QTD)
BCFN mais simples que 3FN: no se refere a 3FN ou 2FN
85
... NORMALIZAO ...
Exemplo de BCFN: Um professor ensina uma nica disciplina;
Uma disciplina pode ser ensinada por mais de um professor;
Em cada disciplina, um aluno tem aulas com um s professor
Alun Prof Disc Determinantes Ch.Candidatas
Z Ara BD Prof Alun + Disc
Ed Gui SI Alun + Disc Alun + Prof
Z Val SI Alun + Prof
Ed Ara BD
Relao (Alun, Prof, Disc) est em 3FN, mas no em BCFN.
Normalizando, teramos as relaes abaixo, em BCFN:
P-D (Prof, Disc)
P-A (Prof, Alun)
86
... NORMALIZAO ...
Relao no BCFN 2 relaes BCFN

Alun Prof Disc Prof Disc Prof Alun
Z Ara BD Ara BD Ara Z
Ed Gui SI Gui SI Ara Ed
Z Val SI Val SI Gui Ed
Ed Ara BD Val Z

Determinante um atributo que determina funcionalmente
outro atributo

87
... NORMALIZAO ...
4FN RELAO EST EM 3FN
RELAO NO PODE CONTER DOIS OU MAIS
FATOS MULTIVALORADOS INDEPENDENTES
RELATIVOS A UMA ENTIDADE

Prof Disc Estab Prof Disc Estab Prof Disc Estab
Ara BD UFC Ara BD ? Ara BD UFC
Ara BD UNI Ara SI ? Ara BD UEC
Ara SI UEC Ara ? UFC Ara BD UNI
Val CC UNI Ara ? UNI Ara SI UFC
Val BD UEC Ara ? UEC Ara SI UEC
Ara SI UNI



Prof ensina quais discs?
Prof ensina em que estabs?
A B C
B e C representariam A
88
... NORMALIZAO ...
4FN RELAO EST EM 3FN
RELAO NO PODE CONTER DOIS OU MAIS
FATOS MULTIVALORADOS INDEPENDENTES
RELATIVOS A UMA ENTIDADE
PDE (Prof, Disc, Estab)
Profs Estabs
Discs
PDE
Profs
Estabs Discs
PD PE
Fatos Dependentes
Ara ensina BD na UFC
Fatos Independentes
Ara ensina BD
Ara ensina na UFC
89
... NORMALIZAO ...
Caso se deseje saber apenas:
Que disciplinas ensina o professor P? e
Em que estabelecimentos ensina o professor P?
A relao PDE (Prof, Disc, Estab) no est em
4FN porque h dois fatos multivalorados
independentes acerca da entidade Prof.
Normalizando:
P-D (Prof, Disc)
P-E (Prof, Estab)
90
... NORMALIZAO ...
Prof Disc Estab
Ara BD UFC
Ara BD UNI
Ara SI UEC
Val CC UNI
Val BD UEC
Prof Disc
Ara BD
Ara SI
Val CC
Val BD
Prof Estab
Ara UFC
Ara UNI
Ara UEC
Val UNI
Val UEC
--No em 4 FN--- ----- Relaes em 4 FN ------
4FN RELAO EST EM 3FN
RELAO NO PODE CONTER DOIS OU MAIS
FATOS MULTIVALORADOS INDEPENDENTES
RELATIVOS A UMA ENTIDADE
91
... NORMALIZAO ...
5FN RELAO EST EM 4FN
O CONTEDO DE INFORMAO DA RELAO NO
PODE SER RECONSTRUDO A PARTIR DE VRIAS
RELAES DE MENOR GRAU QUE TENHAM CHAVES
DIFERENTES
Prof Disc Estab
Ara BD UFC
Ara APS UECE
Ara APS UFC
Ara BD UECE
Val BD UECE
- Se um prof. ensina uma disciplina e em
um estabelecimento onde ensinada
esta disciplina,ento o prof. ministra
esta disciplina neste estabelecimento
- A relao ao lado est em 4FN (h 2
fatos multivalorados dependentes)
- A relao no est em 5FN (d para
reconstruir o contedo de informao
a partir de relaes de menor grau)
92
... NORMALIZAO ...
Prof Disc
Ara BD
Ara APS
Val BD
Prof Estab
Ara UFC
Ara UECE
Val UECE
Estab Disc
UFC BD
UFC APS
UECE BD
UECE APS
Prof Disc Estab
Ara BD UFC
Ara APS UECE
Ara APS UFC
Ara BD UECE
Val BD UECE
A relao ao lado, embora em 4FN, no
est em 5FN porque d para
reconstruir o contedo de informao
a partir das relaes de menor grau
abaixo
(H uma linha nas relaes abaixo para
Ara ensina BD e duas linhas ao lado)
93
... NORMALIZAO ...
Prof Disc
Ara BD
Ara APS
Val BD
Prof Estab
Ara UFC
Ara UECE
Val UECE
Estab Disc
UFC BD
UFC APS
UECE BD
UECE APS
Prof Disc Estab
Ara BD UFC
Ara APS UECE
Ara APS UFC
Ara BD UECE
Val BD UECE
A relao ao lado, embora em 4FN, no est
em 5FN porque d para reconstruir o
contedo de informao a partir das 3
relaes de menor grau
Val ensina BD; h BD na UFC;
v-se que Val no ensina BD na UFC
na relao Prof X Estab
94
... NORMALIZAO ...
normalizao x performance
- ideal do ponto de vista de performance:
todos os dados em um nico registro
- ideal do ponto de vista de simplicidade:
vrias relaes em 5FN
como melhorar a performance em bd`s relacionais
- criar ndice (evita varrer tabela)
- armazenar resumos
95
... NORMALIZAO ...
normalizao x performance ...
- ndices
a) chaves estrangeiras deveriam ser indexadas

it-vendidos(nr-venda, nr-linha,cd-it, qtd, preo)

criando-se ndice para cd-it na relao acima,
obtm-se melhor tempo de resposta para a
consulta:
qual o valor vendido do item x?
96
... NORMALIZAO ...
normalizao x performance ...
- ndices
b) criar ndices para atributos que possam ser
usados como argumento de pesquisas que exijam
respostas rpidas
vendas(nr-venda, nr-cli, dt-venda)
criando-se ndice para dt-venda na relao vendas,
obtm-se resposta rpida para a consulta:
quanto foi vendido na data x?
97
... NORMALIZAO ...
normalizao x performance ...
- ndices
c) criar um ndice nico para cada chave primria
- armazenamento de resumos
criar tabelas com resumos que sejam atualizadas
por processos batch ou mesmo on-line; pode ser via
triggers
98
NORMALIZAO Ex NF 1
NOTA-FISCAL(NR-CLI, NM-CLI, EN-CLI, NR-
NF, (CD-IT, DS-IT, QTD, PREO,VAL), TOT-NF,
CD-VENDEDOR, NM-VENDEDOR)
FICARIA ARMAZENADA COMO:
NR-CLI NM-CLI EN-CLI NR-NF CD-IT DE-IT
1206 SILVA RU X,20 468 126 PARAF
1206 SILVA RU X,20 468 130 PORCA
1206 SILVA RU X,20 476 140 ARRUEL
1300 MARIA RU Y,30 477 126 PARAF
1300 MARIA RU Y,30 477 130 PORCA

99
ANOMALIAS
- INCLUSO incluir novo item exige nota fiscal
- EXCLUSO DE UM REGISTRO - exige verificar
existncia do item mais de uma vez para no
perder os dados desse item com a excluso
- ALTERAO - mudar endereo do cliente 1206
implica alterar vrios registros
NORMALIZAO Ex NF 2
100
As anomalias existem por falta de independncia de
dados: cliente misturado com nota fiscal, misturado
com produto, com vendedor.
NORMALIZANDO ....
CLIEN (NR-CLI, NM-CLI,EN-CLI)
NFIS (NR-NF, TOT-NF, NR-CLI,CD-VENDEDOR)
IT-NF(CD-IT, DS-IT, QTD, PREO,VAL,NR-NF)
VENDEDOR (CD-VENDEDOR, NM-VENDEDOR)
NORMALIZAO Ex NF 3
101
IT-NF (CD-IT, DS-IT, QTD, PREO, VAL, NR-NF)
ANOMALIAS NA RELAO ACIMA:
INCLUSO - s inclui um item se houver venda

ALTERAO - alterar descrio de um item, altera
vrios registros

EXCLUSO - excluir nico registro que contm um
item perde dados desse item

ALM DISSO, DS-IT DEPENDE FUNCIONALMENTE
APENAS DE PARTE DA CHAVE. LOGO ....

NORMALIZAO Ex NF 4
102
ITENS (CD-IT, DS-IT, PREO)
IT-NF (NR-NF, CD-IT, QTD, VAL)
CLIEN(NR-CLI, NM-CLI, EN-CLI)
VEND (CD-VENDEDOR, NM-VENDEDOR)
NFIS (NR-NF,NR-CLI,TOT-NF,CD-VENDEDOR)
NORMALIZAO Ex NF 5
103

CLIEN NFIS IT-NF
ITENS VEND
NR-NF
CD-IT
QTD
VAL
NR-NF
CD-VENDEDOR
TOT-NF
NR-CLI
NR-CLI
NM-CLI
EN-CLI
CD-VENDEDOR NM-VENDEDOR
CD-IT
DS-IT
DER
EQUIVALENTE
NORMALIZAO Ex NF 6
104
lgebra Relacional...
As operaes que manipulam os dados no
modelo relacional formam a lgebra Relacional
As operaes da lgebra Relacional produzem
sempre uma relao como resultado
Operaes da lgebra Relacional:
Seleo, Projeo, Produto Cartesiano ,Juno,
Unio, Interseo, Diferena

105
...lgebra Relacional...
Operaes
SELEO (o) seleciona as tuplas que
satisfazem a uma condio

o
sal=300
(Func) seleciona os Funcionrios
de salrio igual a 300
o
sal=300 and cdd=P
(Func) seleciona os que
ganham 300 no departamento de produo
106
...lgebra Relacional...
Operaes
PROJEO (t) seleciona colunas

t
nom, sal, cdd
(Func) obtm nome, salrio e
cdigo do departamento dos funcionrios
t
mat, nom
(Func) obtm matrcula e nome
dos funcionrios
107
...lgebra Relacional...
Operaes
PRODUTO CARTESIANO (X)
a1, a2, a3 b1,b2 a1, a2, a3, b1, b2
a4, a5, a6 b3, b4 a1, a2, a3, b3, b4
b5, b6 a1, a2, a3, b5, b6
a4, a5, a6, b1, b2
a4, a5, a6, b3, b4
a4, a5, a6, b5, b6
A B A X B
108
...lgebra Relacional...
Operaes
Func mat nom cdd Depa cdd dsd
100 Z V P Prod
110 Ed P V Vend
Func X Depa (Produto Cartesiano)
100 Z V P Prod
100 Z V V Vend
110 Ed P P Prod
110 Ed P V Vend
109
...lgebra Relacional...
Operaes
JUNO ()
a1, a2, b1 b1,b2 a1, a2, b1, b1, b2
a3, a4, b3 b3, b4 a3, a4, b3, b3, b4
a5, a6, b5 b5, b6 a5, a6, b5, b5, b6
b7, b8

A B A B
Juno exibe os atributos de juno, mesmo repetidos


110
...lgebra Relacional...
Operaes
Func mat nom dep Depa cdd dsd
100 Z V P Prod
110 Ed P V Vend
Func
dep > cdd
Depa (Juno)
100 Z V P Prod
100 Z V V Vend
110 Ed P P Prod
110 Ed P V Vend

111
...lgebra Relacional...
Operaes
THETA JOIN juno que usa a condio de
join no formato <atrib
m
operador atrib
n
>
onde, operador pode ser < , > , s , > , = , =
EQUIJOIN juno que usa a igualdade como
operador na condio de join
NATURAL JOIN (*) juno natural, idntica
equijoin, mas suprimindo o atributo repetido; a
definio desta operao exige que os atributos
usados na condio de join tenham nomes
iguais nas duas relaes
112
...lgebra Relacional...
Operaes
Diferena entre o Produto Cartesiano e a Juno
a Juno apresenta no resultado apenas a
combinao das tuplas que satisfazem
condio de juno, enquanto o Produto
Cartesiano exibe no resultado todas as
combinaes de tupla
113
...lgebra Relacional...
Operaes
UNIO () obtm as tuplas que esto
em uma ou nas duas relaes
INTERSEO() obtm apenas as
tuplas que esto nas duas relaes
DIFERENA(-) obtm as tuplas que
esto em apenas uma das relaes

114
...lgebra Relacional...
Operaes
As operaes Unio, Interseo e Diferena s
podem ocorrer entre relaes compatveis de
unio
Duas relaes so unio-compatveis se tm o
mesmo grau e cada par de atributos
correspondentes tem o mesmo domnio. Ex.:
CLIEN (cdc, nmc, fonec, ufc)
FORN (cdf, nmf, fonef, uff)

115
...lgebra Relacional...
CLI (cdc, nmc, fone, uf) FOR (cdf, nmf, fone, uf)
o
uf = PI
(CLI) o
uf = PI

(FOR)
Obtm os clientes ou fornecedores do PI
t
nmc
(o
uf = PI
(CLI))

t
nmf
(o
uf = PI
(FOR))

Obtm os nomes dos clientes que so tambm
fornecedores, do PI
o
uf = PI
(CLI)

- o
uf = PI
(FOR)
Obtm os que so clientes mas no fornecedores, do PI

116
...lgebra Relacional
Operaes
As operaes bsicas so: Seleo, Projeo,
Unio, Diferena e Produto Cartesiano. As
demais podem ser definidas em funo destas.
A B (A B) ((A B) (B A))
A
<cond>
B o
<cond>
(A X B)
117
Linguagem SQL ...
Linguagem de Consulta Estruturada
Linguagem comercial, declarativa, padro
para acesso a bancos de dados relacionais
Introduzida como linguagem de consulta
para o sistema R (inicialmente, SEQUEL)
Trata conjuntos de tuplas (linhas)
lgebra Relacional formal e procedural
118
... Linguagem SQL ...
Uma consulta na lgebra Relacional especifica uma
seqncia de operaes (como fazer)
Uma consulta SQL especifica o que obter, deixando
para o SGBDR as tarefas de otimizao e deciso de
como fazer
Verses:
SQL1 ou SQL-86
SQL2 ou SQL-92 padro em vigor atualmente
SQL3 contendo conceitos de Orientao a Objeto

119
... Linguagem SQL ...
Cria e manipula as estruturas de dados:
TABLE - tabela real formada por linhas e
colunas
INDEX - ndice para otimizar o acesso s
linhas das tabelas
VIEW - tabela virtual formada a partir de
outras tabelas (apenas a definio da viso
armazenada em disco)
120
... Linguagem SQL ...
Mat Nom Sex Sal Dep Match
100 Z M 200,00 Pro 300
200 S M 210,00 Pro 300
300 Ed M 300,00 Pro 500
400 D M 320,00 Ven 500
500 Di F 500,00 Adm
FK FK PK
FUNC
Tabela
121
... Linguagem SQL ...
ndices - estruturas de dados que agilizam o
acesso s tuplas (linhas); podem ser:
primrio - campo de indexao a chave
primria no permitindo campos repetidos
secundrio ou alternado - campos de indexao
so quaisquer atributos que no a chave primria
clusterizado - a ordem das entradas no ndice a
mesma das linhas da tabela
122
... Linguagem SQL ...
ndice agiliza consulta e prejudica atualizao
Evitar muitos ndices em tabela muito voltil
(alta taxa de incluso / excluso)
Em tabela pouco voltil, muitos ndices agilizam
acessos; desvantagem: maior consumo de disco
Cuidado ao indexar coluna atualizada com muita
freqncia
Grandes tabelas: recomendvel criar os ndices
aps a carga dos dados
123
... Linguagem SQL ...
O que indexar ?
Chave primria (checa unicidade)
Chave estrangeira (usada em junes e na
integridade referencial)
Chave secundria que seja argumento de
pesquisa freqentemente feita
Nome usado para consulta alfabtica on-line
Atributo fonetizado usado em pesquisa fontica
124
... Linguagem SQL ...
O que indexar ?
Em tabela associativa, alm do ndice primrio
composto, criar ndice secundrio (unique),
invertendo as chaves
Indexar colunas usadas em consultas
freqentes ou que classifiquem muitas linhas,
usando order by, group by ou distinct

125
... Linguagem SQL ...
O que no indexar ?
Atributo com poucos valores (sexo = M / F)
Atributo usado em consulta que recupera quase
todas as linhas (otimizador no usar o ndice)
Atributo com alto percentual de valores null
Atributo com alto percentual de valores
duplicados (poucos valores; bom criar ndice
composto)
126
... Linguagem SQL ...
Por que indexar?
Aumentar performance das consultas
Acelerar a execuo das junes
Aumentar a performance de execuo de
clusulas ORDER BY e GROUP BY
Acelerar a verificao de restries de
integridade

127
... Linguagem SQL ...
Por que no indexar?
Aumenta o consumo de disco
Gasta tempo para criar ndice em tabela
com grande nmero de linhas
Piora a performance de execuo de
comandos de alterao de dados (Insert,
Update, Delete)

128

... Linguagem SQL ...

VISO
como se fosse uma janela que nos permite ver
um subconjunto de uma ou mais tabelas
uma tabela virtual derivada de uma ou mais
tabelas (no duplica os dados)
Exemplos:
Marajs funcionrios com salrio muito alto
Idosas funcionrias com idade avanada
129
... Linguagem SQL ...
Possui comandos DDL, DML, DCL
DDL - Linguagem de Definio de Dados
Create, Drop, Alter
DML - Linguagem de Manipulao de Dados
Select, Insert, Update, Delete
DCL - Linguagem de Controle de Dados
Commit, Rollback, Grant, Lock
130
... Linguagem SQL ...
DDL - Linguagem de Definio de Dados
CREATE cria objetos (table, index, view,
procedure, trigger) no banco de dados
DROP remove objetos (table, index, view,
procedure, trigger) do banco de dados
ALTER altera objetos (table, index, view,
procedure, trigger) do banco de dados
131
... Linguagem SQL ...
DML - Linguagem de Manipulao de Dados
Comandos
Select obtm linhas de uma tabela
Insert insere linhas numa tabela
Update atualiza linhas de uma tabela
Delete exclui linhas de uma tabela

132
... Linguagem SQL ...
DCL - Linguagem de Controle de Dados
Comandos
Grant concede privilgios de acesso a dados
para usurios
Revoke retira privilgios de usurios
Commit efetiva transaes no banco de dados
Rollback desfaz transaes no banco de
dados
Lock bloqueia acesso a itens do BD
133
Catlogo ...
Um SBD armazena tambm outros dados
(metadados) que definem e descrevem os
dados que formam o BD
Esses dados formam o que se chama catlogo
ou dicionrio de dados do sistema
O catlogo usado pelo SGBD e tambm,
eventualmente, pelos usurios do BD quando
necessitam de informao sobre a estrutura dos
dados do BD
134
... Catlogo ...
Sem usar BD, a definio da estrutura dos dados
deve ser colocada nos programas de aplicao
O catlogo um banco de dados com
informaes sobre a estrutura dos dados que
formam o BD (independncia de dados)
O catlogo (BD) dos bancos relacionais
acessado via SQL (mesma sintaxe)
135
... Catlogo ...
O Catlogo / Dicionrio de Dados deve ter, no
mnimo, os conjuntos de entidades (tabelas):
Tabelas (cdt, nmt, dst, coment, tptab)
Colunas (cdt, cdc, nmc, nrpos, nrdec, tpdad,...
ndices (cdt, cdi, nmi, tpi)
Vises (cdt, dsquery)
Chaves (cdt, cdch, tpch, cdt-ref)
TiposDeDados (cdtd, nmtd)
136
Stored Procedure ...
Programa formado por variveis, comandos SQL e
comandos de controle de fluxo, armazenado no banco
de dados
Pode ser executado manualmente ou chamado de um
programa de aplicao ou de outro procedimento
armazenado
Reduz trfego de dados na rede, alm de melhorar a
performance de acesso aos dados
Execuo mais rpida que comandos SQL porque no
precisa ser pr-compilada e otimizada a cada execuo
137
... Stored Procedure ...
Facilita a manuteno, pois uma alterao em
stored procedure feita s no servidor
Aceita parmetros de entrada e pode retornar
resultados, alm de indicao de sucesso ou
causa da falha na execuo
Difere de funo pois no retorna valor nem
pode ter seu nome usado numa expresso
138
Triggers ...
Trigger
um tipo de procedimento armazenado no banco
de dados, que executado quando uma tabela
atualizada
usado para:
manter integridade referencial
criar uma coluna a partir de outras
replicar alteraes em uma tabela
atualizar outras tabelas quando uma tabela
sofre alterao

139
...Triggers ...
Por que usar Trigger?
Regras de negcio ficam armazenadas no
banco de dados e so sempre executadas
no importando se a alterao foi
promovida por programa de aplicao ou
por comando SQL interativo
Reduo da complexidade de programas
de atualizao
140
...Triggers ...
Por que no usar Trigger?
Aumenta a complexidade do banco de
dados
Uma atualizao do banco de dados pode
provocar a execuo de um trigger que
altera o banco de dados que provoca a
execuo de outro trigger,... em cascata
141
Integridade Referencial Declarativa...
Depa - tabela pai Func - tabela filho
Depa (cdd, dsd) Func (mat, nom, dep)
create table depa (cdd char(3) not null,
dsd char(20) primary key (cdd))
create table func (mat integer not null,
nom char(30), dep char(3))
primary key (mat) foreign key (dep) references
depa on delete set null
ao ser excludo um departamento, o campo dep
dos funcionrios desse departamento ficar null
142
...Integridade Referencial Declarativa
As opes para ON DELETE
SET NULL - torna null o valor da chave
estrangeira correspondente ao valor da chave
primria da linha pai excluda
CASCADE - exclui as linhas filho
correspondentes linha pai excluda
RESTRICT - no exclui a linha pai se houver
linha filho correspondente
143
...Integridade Referencial Procedural...
Opo CASCADE via trigger
create trigger tDelDepa on Depa for DELETE as
begin
declare @errno int, @errmsg varchar(255)
delete Func from Func,deleted
where Func.dep = deleted.cdd
return
error:
raiserror @errno @errmsg
rollback transaction
end
go
144
Cursor ...
A linguagem SQL manipula conjuntos de linhas,
enquanto que as linguagens comuns manipulam
registro (linha) a registro
Uma consulta SQL (query) pode retornar zero
ou mais linhas
Retornando vrias linhas necessrio criar um
cursor para manipular uma linha de cada vez
145
... Cursor ...
Um cursor pode ser visto como se fosse um
arquivo, logo pode ser tratado pelos comandos:
open, fetch, close.
Um cursor pode ser pensado tambm como se
fosse um apontador que vai sendo deslocado
linha a linha, apontando-as
Assemelha-se a um dedo que vai correndo
sobre as linhas de um texto, apontando-as

Você também pode gostar