Академический Документы
Профессиональный Документы
Культура Документы
Parte I
PROF. PAULO HENRIQUE MAIA
Sumrio
Programa 2
Programa 3
Descrio
de dados
Descrio
de dados
Descrio
de dados
Arquivo A
Arquivo B
Arquivo C
3
Dados em Arquivos
Redundncia e inconsistncia
Programa 2
Programa 3
Descrio
de Dados
Banco
de Dados
Sistemas
de
Bancos
de Dados
Esquema
Externo 1
Esquema
Externo 2
Esquema
Externo n
Camada
Externa
Esquema Conceitual
DBMS
Camada
Conceitual
Camada
Interna (Fsica)
Esquema Interno
(Banco de Dados armazenado)
8
Segurana
Ocorrncias (instncias)
Coleo de informaes armazenadas na base
Altamente mutveis
Esquemas
Projeto ou estrutura da base - definio
Um esquema para cada nvel de abstrao
Esquema fsico - nvel interno
Esquema lgico - nvel conceitual
Sub-esquemas ou esquemas de visualizao - nvel
externo
10
Armazenamento
Acesso
Controle de Concorrncia
Recuperao
11
Finalidade
Componentes
Componentes (cont.)
select nome
from Empregado
DML
Procedural
- requer a especificao de quais dados
Nonprocedural
Exemplo (SQL)
Exemplo (SQL)
where matr=14
where salrio<1500.00
13
SGBD
Pr-Compilador DML
Traduz comandos DML em chamadas a procedimentos (rotinas) na linguagem
hospedeira
Interpretador DDL
Interpreta comandos DDL e os armazena no catlogo
Tabelas contendo meta-dados
Descrio do banco de dados (Esquema)
Mecanismo de Consultas
Responsvel pela otimizao e gerao de planos de execuo de consultas
14
SGBD
Sistema de Armazenamento
Gerenciador de Transaes
Controle de concorrncia
Recuperao do banco de dados aps falhas
Gerenciador de Buffer
Responsvel para recuperar objetos em disco e carreg-los na memria
principal em forma de pginas
SGBD possui uma rea de buffer em memria principal
Mapeamento: Bloco
(disco)
Pgina
(buffer do SGBD)
BD
Armazena os dados
ndices
16
Programadores
Usurio experiente
Programa Aplicativo
Pre-compilador
DML
DBA
Consulta
Esquema
Compilador
DML
Interpretador
DDL
Mecanismo
de Consultas
Gerenciador
de Buffer
Gerenciador
de Transaes
Gerenciador
de Arquivo
Cdigo Objeto
aplicativos
ndices
Arquivos
de dados
Processador
de Consultas
Sistema de
Armazenamento
DBMS
Catlogo
DB
DBS
17
de armazenamento
Manuteno do esquema e da organizao fsica
dos dados
Definio da poltica de acesso aos dados
18
Programadores de aplicao
Usurios sofisticados
Usurios especializados em aplicaes no-
convencionais
Usurios de programas de aplicao
19
20
Clculo Relacional
Restries de integridade
Integridade de chave primria
Integridade referencial
21
22
Sumrio
O Modelo Relacional
Modelagem de Dados
lgebra Relacional
Linguagem de Manipulao e Consulta
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Modelo de dados MER
No implementado por nenhum SGBD
Utilizado como modelo conceitual para projeto de BDs
Ferramenta para a modelagem de BDs
Princpio bsico
Representar dados atravs
Entidades
Relacionamentos entre as entidades
Atributos
Propriedades de entidades ou relacionamentos
24
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Entidade
Representao abstrata de um objeto do mundo real
Exemplos de entidades do mundo real
Objeto concreto
25
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Atributos de uma entidade
Propriedades que caracterizam uma entidade
Exemplos
Atributos de empregados
matrcula, nome, endereo, rg, cpf, data-nasc, salrio, lotao, data-admisso
Atributos de estudantes
matrcula, nome, curso, rg, cpf, data-ingresso
26
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Atributos de uma entidade (cont.)
Empregados
matrcula
l 13
l l
l l l
l l
Brbara
nome
endereo
l
l l
l
l
l
l
l
Conjunto
de nomes
Conjunto
de endereos
R. X, 9
27
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Atributos de uma entidade (cont.)
Atributos chave de uma entidade
Conjunto de atributos que identificam univocamente um elemento ou objeto da entidade
Seja f um atributo chave para um conjunto de entidades D, xD
e f(x)=v, ento
Tipos de atributos
Atributo atmico
Atributo que no pode ser subdividido:cargo
Atributo composto
Atributo formado por vrios atributos
Endereo, local
endereo
local
rua
cep cidade
nmero
28
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Atributos de uma entidade (cont.)
Tipos de atributos
Atributo mono-valorado
Atributo para o qual est associado um nico valor
Exemplo
Nome
Atributo multi-valorado
Atributo para qual podem estar associados vrios valores
Funo que associa um elemento do conjunto de entidades a um subconjunto de um conjunto de valores
Exemplo
Para o atributo telefone podem estar associados vrios valores, como telefone residencial, comercial e celular
Atributo derivado
Atributo cujo valor derivado com base no valor de um outro atributo (atributo base)
Exemplo
Atributo idade pode ser derivado do atributo data_nasc
29
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Relacionamento
Abstrao que representa associaes entre diferentes conjuntos de entidades
Exemplo
Pode-se definir um relacionamento que associa o empregado Brbara com o departamento Cincia da Computao
30
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Relacionamento (cont.)
Papel (role)
Funo que uma entidade desempenha no relacionamento
Exemplo
Papel de empregado
lotado (Bbara lotada em Cincia da Computao)
Papel de departamento
Lota (Cincia da Computao lota Brbara)
31
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Relacionamento (cont.)
Grau de Relacionamento
Nmero de entidades participantes no relacionamento
Relacionamento binrio
Relacionamento de grau 2
Exemplo: Relacionamento aluno-disciplina
Relacionamento ternrio
Relacionamento de grau 3
Exemplo
Relacionamento Agncia-Conta-Cliente
l
l l
l l
l l
Cliente
l
l l
l l l
l l
Agncia_Conta-Cliente
Conta
l
l l
l ll
l l
Agncia
32
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Relacionamento (cont.)
l
l
l
l
l
1
4
5
Empregado
2
3
Supervisiona
33
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Relacionamento (cont.)
Atributos de relacionamento
Propriedades que descrevem um relacionamento
Exemplo
Considere o atributo data-lotao
Representa a data em que um empregado foi lotado em um determinado departamento
data-lotao um atributo do relacionamento lotao
Considere o atributo nota na modelagem de dados da FIC
Descreve a nota de um aluno em uma disciplina
nota um atributo do relacionamento cursa
Cursa representa o relacionamento entre os conjuntos de entidades Estudante e Disciplina
34
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Restries estruturais de relacionamentos
Cardinalidade de relacionamento
35
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Restries estruturais de relacionamentos (cont.)
Cardinalidade de relacionamento (cont.)
36
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Restries estruturais de relacionamentos (cont.)
Restrio de participao
37
2. Modelo Entidade-Relacionamento
- Conceitos Bsicos Entidade fraca
38
2. Modelo Entidade-Relacionamento
- Diagrama ER Ferramenta de projeto
Capaz de capturar e representar graficamente toda estrutura lgica de um
banco de dados
Utilizada para modelagem de BDs
Existem ferramentas
Fornecem uma interface grfica para o desenvolvimento de DERs
A partir do DER especificado, geram o esquema do BD relacional
ERWin
DBDesigner
39
2. Modelo Entidade-Relacionamento
- Diagrama ER Notao
Smbolo
Representao
Conjunto de entidades
Conjunto de entidades
fracas
Conjunto de relacionamentos
(relacionamento)
Relacionamento de
identificao
Nome atributo
Atributo
40
2. Modelo Entidade-Relacionamento
- Diagrama ER Notao
Smbolo
Representao
Nome atributo
Atributo chave
Nome atributo
Atributo derivado
Nome atributo
Atributo multivalorado
Nome atributo
Atributo composto
Nome atributo
Nome atributo
41
2. Modelo Entidade-Relacionamento
- Diagrama ER Notao
Smbolo
Representao
Nome atributo
E1
E1
R
(min,max)
E2
Cardinalidade 1:N
Restrio estrutural de
participao de E em R
E2
Participao total de E2
em R
42
2. Modelo Entidade-Relacionamento
- Diagrama ER Exerccio
43
2. Modelo EntidadeRelacionamento
Cod_venc
descrio
- Diagrama ER -
Vencimento
supervisiona
-supervisionado
-supervisor
dt_lotao
(1,1)
lotao
(5,n)
(1,n)
valor
(0,n)
Empregado
(0,n)
ganha
(1,1)
(1,1)
matr
dt_nasc
dependncia
nome
(0,n)
(1,1)
idade
Departamento
(0,1)
gerncia
nome
Dependente
dt_nasc
44
2. Modelo EntidadeRelacionamento
Cod_venc
descrio
- Diagrama ER Vencimento
supervisiona
-supervisionado
-supervisor
dt_lotao
n
lotao
valor
1
n
Empregado
ganha
1
1
matr
dt_nasc
dependncia
nome
Departamento
1
gerncia
nome
idade
Dependente
dt_nasc
45
2. Modelo EntidadeRelacionamento
Especializao
Escriturrios
Grau de instruo
rea de atuao (contador, secretria, etc)
Engenheiros
Especialidade
46
2. Modelo EntidadeRelacionamento
- Propriedades Avanadas Especializao (cont.)
Definio
47
2. Modelo EntidadeRelacionamento
- Propriedades Avanadas Especializao (cont.)
Notao MER
Empregado
is a ( um)
Empregado is a Professor ou
Empregado is a Escriturrio ou
Empregado is a Engenheiro
ISA
regime_tr
Professor
titulao
uni_tit
Escriturrio
Grau_ins
rea_atua
Engenheiro
especialidade
48
2. Modelo EntidadeRelacionamento
- Propriedades Avanadas Especializao (cont.)
Herana de propriedades
Os subgrupos de entidades herdam todas as propriedades do conjunto de entidade de mais alto
nvel
Empregado
nome
dt_nasc
matr
ISA
regime_tr
Professor
titulao
uni_tit
Escriturrio
Grau_ins
rea_atua
Engenheiro
especialidade
49
2. Modelo EntidadeRelacionamento
- Propriedades Avanadas Especializao (cont.)
realizada sobre um nico conjunto de entidades
Identificar subgrupos
Generalizao
Processo de identificao de conjuntos de entidades que possuem
caractersticas em comum
Mesmos atributos e participam de mesmos relacionamentos
50
2. Modelo EntidadeRelacionamento
- Propriedades Avanadas Generalizao (cont.)
nfase nas similaridades entre diversos conjuntos de entidades
Reduo de redundncia de representao
Atributos compartilhados s sero representados no conjunto de entidades de nvel mais alto
No sero repetidos
Na prtica
Generalizao o processo inverso da especializao
51
2. Modelo EntidadeRelacionamento
- Propriedades
Avanadas
- de nvel mais baixo que o conjunto de
Sejam
E1, E2, , En conjuntos
de entidades
entidades E
E
ISA
E1
E2
...
...
En
Disjuno
" 0<i,jn, ij : Ei Ej =
Nenhuma entidade de E pode pertencer a mais de um
subgrupo
52
2. Modelo EntidadeRelacionamento
- Propriedades Avanadas Especificao de restries de generalizao e especializao
Completeza
Especifica se uma entidade de E tem que pertencer obrigatoriamente a um dos conjuntos de
entidades de mais baixo nvel ou no
Total
E=
Parcial
E
Ei
i=1
Ei
n
i=1
53
2. Modelo EntidadeRelacionamento
Agregao
- Propriedades
Abstrao
que representaAvanadas
relacionamentos-como entidades
Mecanismo utilizado para representar relacionamentos de relacionamentos
Exemplo
Considere a modelagem de dados em um banco BX. Clientes do BX esto relacionados a agncia e conta
Estratgia 1
Agncia
Conta
n
Cliente
54
2. Modelo EntidadeRelacionamento
Agregao (cont.)
- Propriedades
Problemas
na Estratgia 1Avanadas
55
2. Modelo EntidadeRelacionamento
Agregao (cont.)
- Propriedades
Avanadas
Utilizar
o mecanismo de agregao
cod_ag
nome
Agncia
ender gerente
num_conta
saldo
Conta
n
data_abertura
cod_cliente
CPF
nome
ender
Cliente
data-nasc
56
Bancos de Dados I
Parte II
FRANCISCO ALVES CARNEIRO
- FIC -
57
Sumrio
O Modelo Relacional
Modelagem de Dados
lgebra Relacional
Linguagem de Manipulao e Consulta
58
Sumrio
Introduo aos Sistemas de Banco de Dados
59
3. Modelo Relacional
- Introduo Proposto em 1970 por Codd
IBM
DB2 (IBM)
Informix
ADABAS
Sybase
Oracle
SQL Server (Microsoft)
60
3. Modelo Relacional
- Estrutura de um Banco de Dados Relacional Um banco de dados relacional consiste
Um conjunto de tabelas
Relaes
Tabelas
Conjunto de linhas
Tuplas
Linhas
matr nome
1
2
3
3
3
Estudante
cpf
1
1
1
2
3
231
451
472
549
465
end
R X, 50
R Y, 1
R V, 502
R Z, 501
R A, 501
dt-nasc
20000102
19991001
19990510
19980601
20000203
Conjunto de colunas
Nome das colunas
Atributos
61
3. Modelo Relacional
- Conceitos Bsicos Domnio
3. Modelo Relacional
- Conceitos Bsicos -
Esquema de relao
Utilizado para descrever uma relao
Representado por R(A1, A2, , An), onde
R nome de uma relao e
A1, A2, , An uma lista de atributos
63
3. Modelo Relacional
- Conceitos Bsicos Instncia de Relao
Relao
3. Modelo Relacional
- Conceitos Bsicos Esquema de um banco de dados relacional
Conjunto de esquemas de relao mais um conjunto de restries de integridade IC
S={R1, R2, , Rn} e um conjunto de restries de integridade IC
Seja o esquema S
Uma instncia DB para o esquema S
DB={r1, r2, , rn} , onde
Cada ri uma instncia de relao de Ri e
Cada ri satisfaz as restries de integridade especificadas em IC
Exerccio
Considere uma banco de dados relacional DBR com as relaes Empregado e
Departamento
Construa um esquema S e mostre uma possvel instncia para DBR
65
3. Modelo Relacional
- Conceitos Bsicos Restries do modelo relacional
Restrio de domnio
O valor de cada atributo A
Tem que ser um valor atmico de dom(A)
Restrio de Chave
Uma relao definida como um conjunto de tuplas
Elementos de um conjunto so distintos entre si
Tuplas de uma relao tm que ser distintas entre si
Duas tuplas em uma relao no podem ter a mesma combinao de
valores para seus atributos
Geralmente existe um subconjunto SC de atributos em um esquema de
relao R
Todas as tuplas de qualquer instncia r(R) apresentam uma combinao
diferente de valores para os atributos de SC
" ti, tj r 0<i,jn, ij : ti[SC] tj[SC]
Super chave (superkey)
66
3. Modelo Relacional
- Conceitos Bsicos Restries do modelo relacional (cont.)
Restrio de Chave (cont.)
Super chave pode apresentar atributos redundantes
Empregado(matr,nome,ender,cpf)
matr e cpf so atributos da super chave
Apenas matr ou apenas cpf
- condio necessria e suficiente para garantir a no existncia de tuplas repetidas
Chave (key)
Super chave sem atributos redundantes
Para Empregado existem duas possveis chaves
matr ou cpf
67
3. Modelo Relacional
- Conceitos Bsicos Restries do modelo relacional (cont.)
Restrio de Integridade de Entidade
Especifica que nenhuma chave primria pode ter valor nulo (null)
Garante que a chave primria identifique tuplas em uma relao
68
3. Modelo Relacional
- Conceitos Bsicos Restries do modelo relacional (cont.)
Restrio de Integridade Referencial (cont.)
Exemplo: Considere o seguinte esquema de banco de dados
Departamento(cod_depart, nome, ender)
Empregado(matr, nome, ender, cpf, lotao)
Se lotao referenciar cod_depart, ento lotao chave estrangeira em
Empregado
Deve ser garantido que o valor de lotao ou seja nulo ou referencie um valor
existente em Departamento
Integridade referencial
Atualmente garantida automaticamente pelos SGBD existente no mercado
69
3. Modelo Relacional
- Conceitos Bsicos Restries do modelo relacional (cont.)
Restrio de Integridade Referencial (cont.)
Exemplo: Considere o seguinte esquema de banco de dados
Departamento(cod_depart, nome, ender)
Empregado(matr, nome, ender, cpf, lotao)
70
3. Modelo Relacional
- Operaes de Atualizao Incluso
Insere t em r(R)
Lista de valores
Pode violar:
Restrio de domnio
Restrio de chave
Integridade existencial
Integridade referencial
Tratamento
Rejeitar a incluso
Solicitar novas informaes
71
3. Modelo Relacional
- Operaes de Atualizao Excluso
Exclui t em r(R)
Condio sobre valores de atributos
Pode violar:
Integridade referencial
Tratamento
Rejeitar a excluso
Propagao em cascata
Mudar fk em R que referencia R
72
3. Modelo Relacional
- Operaes de Atualizao Modificao
73
4. Projeto de Bancos de
Dados
Mini-mundo
(mundo real)
- Fases Anlise de
Requisitos
Requisitos de dados
Independente
do SGBD
Anlise
Funcional
Projeto
Conceitual
Esquema Conceitual (MER)
Projeto Lgico
(mapeamento de
modelo de dados)
Especfico para
cada SGBD
Projeto
(Software)
Projeto Fsico
Estruturas de armazenamento
e caminhos de acesso (ndices)
Implementao
Implementao
Projeto conceitual
Projeto lgico
Com base no DER definido na fase anterior
Criar um diagrama relacional
Representao grfica de um esquema relacional
75
Algoritmo de mapeamento
Sete passos
77
4. Projeto de Bancos de
Dados
- Mapeamento do MER para um Banco de Dados
Relacional Diagrama relacional (DR)
Ferramenta grfica utilizada para representar um esquema de banco de dados
relacional
78
4. Projeto de Bancos de
Dados
- Mapeamento do MER para um Banco de Dados
Relacional Passo 2
Para cada relacionamento binrio 1:1 entre os conjuntos de entidades E1 e E2
Escolher uma das tabelas, por exemplo E2, e incluir como chave estrangeira
em E2 a chave primria da outra tabela (E1)
Critrio de escolha
>> Entidade com participao total no relacionamento
Atributos de relacionamentos devem ser includos na tabela com chave
estrangeira
Notao
E1
PK
E2
PK
79
4. Projeto de Bancos de
Dados
- Mapeamento do MER para um Banco de Dados
Relacional Passo 3
Para cada relacionamento binrio 1:N entre os conjuntos de entidades E1 e E2
Identificar o conjunto de entidades que participa do lado N (suponha que
seja E2)
Incluir como chave estrangeira na tabela E2 a chave primria da outra tabela
(E1)
Atributos de relacionamentos devem ser includos na tabela com chave
estrangeira
Notao
E1
PK
E2
80
4. Projeto de Bancos de
Dados
- Mapeamento do MER para um Banco de Dados
Relacional Passo 4
Para cada relacionamento binrio N:N entre os conjuntos de entidades E1 e E2
Criar uma nova tabela auxiliar tab-aux para representar o relacionamento
Incluir como chaves estrangeiras na tabela tab-aux as chaves primrias de E1
e E2
Estes dois atributos comporo a chave primria de tab-aux
Atributos de relacionamentos devem ser includos na tabela tab-aux
Notao
E1
PK-E1
PK-E1
Tab-aux
PK-E2
E2
PK-E2
81
4. Projeto de Bancos de
Dados
- Mapeamento do MER para um Banco de Dados
Relacional Passo 5
Para relacionamento de grau maior que 2
Criar uma nova tabela auxiliar tab-aux para representar o
relacionamento
Incluir como chaves estrangeiras na tabela tab-aux as chaves
primrias das tabelas que participam do relacionamento
Estes atributos comporo a chave primria de tab-aux
Passo 6
Para cada conjunto de entidades fracas F
Cria uma tabela TFr com todos os atributos de F
Incluir como chave estrangeira de TF a chave primria da tabela
correspondentes ao conjunto de entidades fortes R
A chave primria de TFr ser a chave parcial de F mais a chave
primria de R
82
4. Projeto de Bancos de
Dados
- Mapeamento do MER para um Banco de Dados
Relacional Passo 7
Para cada atributo multivalorado A de um conjunto de entidades E1
Criar uma tabela T com o atributo A
Incluir como chave estrangeira em T a chave primria de E1
A chave primria de T ser composta do atributo A mais a chave
primria de E1
83
nome
Agncia
ender gerente
num-conta
saldo
Conta
n
data_abertura
cod-cliente
CPF
nome
ender
Cliente
data-nasc
84
4. Projeto de Bancos de
Dados
cod-ag-
cod_ag
Agncia
saldo
Conta
num-conta
cod-ag
AG_CC
tipo-conta
cod-ag, num-conta
Cliente_Conta
data-abert
cod-cliente
ender
cod-cliente
CPF
nome
Cliente
data-nasc
85