Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
DCC011:
Introduo a Banco de Dados
Rodrygo Santos
rodrygo@dcc.ufmg.br
Processo de Projeto de
Bancos de Dados
Esquema Conceitual
Modelo de dados de alto nvel
Independente
de SGBD
SGBD
Especfico
Modelo
de Dados
Esquema Lgico (Conceitual)
em um modelo de dados
de um SGBD especfico
Esquema
Regras para
estruturao
dos dados
Instncia
Regras para
verificao
das instncias
Arquitetura de um Sistema de BD
exemplo 2
Arquitetura de um Sistema de BD
Componentes
1. Esquema interno
Descreve armazenamento fsico
EXTERNO (Ling. C)
Participante = struct {
char[30] Nome;
int Departamento;
}
CONCEITUAL
2. Esquema conceitual
Empregado
NOME
SALARIO
DEPARTAMENTO
SEXO
CHARACTER (30)
NUMERIC (5)
NUMERIC (2)
CHARACTER (1)
INTERNO
RegistroEmpregado LENGTH=50
NOME
TYPE= BYTE(30)
SAL
TYPE=FULLWORD
DEP
TYPE=WORD
SEXO
TYPE=BYTE(1)
Viso Externa
Altera
um nvel
Esquema Conceitual
Esquema Fsico
Altera
nvel vizinho
Dependncia de Dados
Independncia de Dados
Independncia de Dados
Capacidade de se alterar o esquema em
um determinado nvel sem alterar o
esquema (ou esquemas) do nvel
imediatamente mais alto
VANTAGEM:
Imunidade dos programas em relao a
mudanas na estrutura do banco de dados
Um dos maiores benefcios de usar SGBD
10
1. Entidades, atributos
Modelo Entidade-Relacionamento
1.
2.
3.
4.
5.
6.
7.
Entidades
Objetos do mundo real que so de interesse
para alguma aplicao
Atributos
Propriedades para descrever uma entidade
Entidades, atributos
Relacionamentos
Restries sobre relacionamentos
Papis e relacionamentos recursivos
Entidade fraca
Generalizao e especializao
Restries sobre Hierarquias de Especializao/
Generalizao
12
Endereo
Tipos de Atributos
Simples ou compostos
Nro
Apto
Chave e Domnio
Chave de um tipo de entidade
Atributo que possui valor nico para cada entidade
(instncia)
Ex. Endereo
Monovalorados ou multivalorados
Ex. Profisso
Armazenados ou derivados
Domnio de um atributo
Conjunto de valores que podem ser atribudos a um
atributo para cada entidade individualmente
Ex. Idade do Empregado: (16, 70); Nome do
Empregado:String
Valores Null
No aplicvel: Nmero do apartamento
Desconhecido: Telefone de casa
13
14
2. Relacionamentos
Associaes entre duas ou mais entidades
distintas (instncias) com um significado
Exemplo:
Empregado John Smith trabalha para
Departamento pesquisa
Empregado Fred Brown gerencia
Departamento pesquisa
Departamento pesquisa controla Projeto X
16
18
20
todo E trabalha_para 1 D
todo D trabalha_para N E
5. Entidade Fraca
Tipos de entidade que no tm chave
prpria
As instncias so identificadas atravs do
relacionamento com entidades de outro
tipo, chamado de dono ou identificador,
juntamente com os valores de alguns
atributos (chave parcial)
Exemplo: Dependente
um E gerencia 1 D
todo D gerencia 1 E
M
um D controla N P
todo P controla 1 D
um E supervisiona 1 E
um E supervisor N E
Esquema conceitual
21
22
6. Especializao e Generalizao
Especializao:
Processo de definio de um conjunto de sub-classes
(sub-tipos) de um tipo de entidade
Completude:
Generalizao:
Restries possveis:
23
Disjunta/Total
Disjunta/Parcial
Sobreposta/Total
Sobreposta/Parcial
24
o = sobreposio
Uma pea
-fabricada E/OU
-fornecida
d = disjuno
Um Empregado
-Secretria OU
-Tcnico OU
-Engenheiro
Figura 4.5
25
26
TOTAL
TODO Empregado
Assalariado OU
Horista
Hierarquia
Toda sub-classe participa como uma subclasse em apenas um relacionamento classe/
sub-classe
Reticulado
lattice, herana mltipla, grade de
especializao
Figura 4.1
28
Modelo Relacional
(3rd ed: 7.1-7.2; 5th ed: 5.1-5.2)
1.
2.
3.
4.
5.
6.
7.
Introduo
Conceitos do Modelo Relacional
Restries de Integridade Bsicas
Esquema do BD Relacional
Restries de Integridade do Esquema
Operaes sobre Relaes
Violaes de Restries
29
Processo de Projeto de
Bancos de Dados
1. Introduo
O modelo relacional representa um banco de
dados como um conjunto de relaes
Informalmente
Requisitos de Dados
Esquema Conceitual
Modelo de dados de alto nvel
Independente
de SGBD
SGBD
Especfico
31
32
Restries de domnio
Especificam que o valor de cada atributo A de uma
relao deve ser um valor atmico do domnio dom(A)
Restries de chave
Um esquema de relao pode ter mais de uma chave
chaves candidatas
Dentre as chaves candidatas de um esquema de relao,
uma delas indicada como chave primria e as demais
constituem as chaves alternativas
Restries em valores null
Especifica se a um atributo permitido ter valores null
Exemplo: todo Aluno deve ter um nome vlido, no-null
Figura 7.1
34
4. Esquema de um BD Relacional
S = (R, I)
35
36
Notao
NomeTabelaPrincipal
Chave Atributo1 Atributon
NomeTabelaReferenciada
Atributo1 Atributon Chave
38
7. Violao de Restries
40
Violao de Restries
Violao de Restries
Remoo
Tupla excluda referenciada por chaves
estrangeiras
Ao default: bloqueia/rejeitar a remoo
(com explicao)
OUTRAS OPES????
Modificao
Modificar o valor de um atributo que no
chave primria ou estrangeira no causa
problemas (se o valor for do domnio, e, se for
null, que este valor seja permitido)
Modificar a chave primaria igual a excluir uma
tupla e inserir outra
Modificar chave estrangeira: SGBD deve verificar
se novo valor do atributo referencia tupla
existente
41
42
Notao
NomeTabelaPrincipal
NomeTabelaReferenciada
Atributo1 Atributon Chave
43
44
1 Um Banco de Dados
2 Um SGBD
45
46
3 So vantagens da utilizao
de um SGBD
4 O projeto de banco de
dados
47
48
49
50
52
53
54
rvores genealgicas
rvores genealgicas
Local(cod, nome)
55
56
Planejamento de fabricao
Planejamento de fabricao
Produto(cod, descricao)
Composicao(prod, insumo, quantidade)
prod REFERENCIA Produto.cod
insumo REFERENCIA Produto.cod
Processo(cod, nome)
Tarefa(cod, nome, tempo)
Execucao(proc, tarefa, ordem)
proc REFERENCIA Processo.cod
tarefa REFERENCIA Tarefa.cod
57
58
10