Abordagem Relacional
Professor Marcio Victorino mcvictorino@uol.com.br
Abordagem Relacional
Abordagem de modelagem de dados
utilizada nos sistemas de gerenciamento de
bancos de dados do tipo relacional.
Modelagem a nvel lgico.
Terminologias
Tabelas
Nome
(0,1)
Homem
CPF
Casa
(0,1)
Nome
Mulher
Lgico
Homem
Mulher
CPF
Nome
CPF
Nome
111
Caio
111
Caio
777
222
Beto
222
Beto
888
333
Abel
333
Abel
CPF
Nome
777
Ana
111
888
Lia
222
999
Bia
Homem
CPF_Homem
Mulher
CPF
Nome
777
Ana
888
999
CPF_Mulher
Lia
Bia
Nome
Conceitual
(0,1)
Homem
Casa
CPF
(1,1)
Nome
Mulher
Lgico
Homem
Mulher
CPF
Nome
111
Caio
222
Beto
333
Abel
CPF
Nome
777
Ana
111
888
Lia
222
999
Bia
Homem
CPF_Homem
Mulher
CPF
Nome
111
Caio
777
222
Beto
888
CPF
Nome
777
Ana
888
999
CPF_Mulher
Lia
Bia
Nome
Conceitual
(0,1)
Homem
Casa
CPF
(1,1)
Nome
Mulher
Lgico
Homem
Mulher
CPF
Nome
111
Caio
222
Beto
333
Abel
CPF
Nome
777
Ana
111
888
Lia
222
999
Bia
Homem
CPF_Homem
Mulher
CPF
Nome
111
Caio
777
222
Beto
888
CPF
Nome
777
Ana
888
999
CPF_Mulher
Lia
Bia
Nome
Homem
CPF
(0,1)
(1,1)
Casa
Mulher
Lgico
Casal
CPF_M Nome_M CPF_H Nome_H
777
888
999
Ana
Lia
Bia
10
111
Caio
222
Beto
Nome
Nome
Conceitual
(1,1)
Homem
Casa
CPF
(1,1)
Nome
Mulher
Lgico
Homem
Mulher
CPF
Nome
CPF
Nome
111
Caio
111
Caio
777
222
Beto
222
Beto
888
333
Abel
333
Abel
999
CPF
Nome
777
Ana
111
888
Lia
222
999
Bia
333
Homem
CPF_Homem
Mulher
CPF
Nome
777
Ana
888
999
11
CPF_Mulher
Lia
Bia
Nome
Homem
CPF
(1,1)
(1,1)
Casa
Mulher
Lgico
Casal
CPF_M Nome_M CPF_H Nome_H
777
888
999
Ana
Lia
Bia
12
111
Caio
222
Beto
333
Abel
Nome
13
Nome
Pessoa
CNPJ
Trabalha
Empresa
Lgico
Empresa
Pessoa
Professor Marcio Victorino
CNPJ
Nome
1A
IBM
2B
CA
3C
Sun
CPF
Nome
777
Ana
888
Lia
999
Bia
14
CNPJ_Empresa
1A
3C
Nome
Nome
Pessoa
CNPJ
(0,N)
(1,1)
Trabalha
Empresa
Lgico
Empresa
Pessoa
Professor Marcio Victorino
CNPJ
Nome
1A
IBM
2B
CA
3C
Sun
CPF
Nome
777
Ana
1A
888
Lia
999
Bia
3C
15
Nome
CNPJ_Empresa
Funcao
Nome
Pessoa
(0,N)
Trabalha
CNPJ
(1,1)
Empresa
Lgico
Empresa
Pessoa
Professor Marcio Victorino
CNPJ
Nome
1A
IBM
2B
CA
3C
Sun
CPF
Nome
CNPJ_Empresa
777
Ana
1A
GP
888
Lia
2B
Desenvolvedor
999
Bia
3C
16
Nome
Funcao
Testador
17
Nome
Pessoa
Cod
Departamento
Pessoa
Professor Marcio Victorino
Cod
Alocacao
Nome
D01
RH
D02
TI
D03
Adm
CPF
Nome
111
Caio
222
Beto
333
Abel
Nome
Departamento
Lgico
Alocacao
18
Cod
CPF
D01
111
D01
222
D03
222
Data
Nome
Pessoa
Alocacao
Cod
N
Nome
Departamento
Lgico
Cod
Departamento
Pessoa
Professor Marcio Victorino
Nome
D01
RH
D02
TI
D03
Adm
CPF
Nome
111
Caio
222
Beto
333
Abel
Alocacao
19
Cod
CPF
Data
D01
111
10/10/1999
D01
222
10/11/2000
D03
222
10/12/2001
D03
333
10/10/2002
D01
111
10/10/2003
Data
Nome
Pessoa
Cod
Alocacao
Nome
Departamento
Salario
Cod
Departamento
Pessoa
Professor Marcio Victorino
Nome
D01
RH
D02
TI
D03
Adm
CPF
Nome
111
Caio
222
Beto
333
Abel
Lgico
Alocacao
20
Cod
CPF
Data
Salario
D01
111
10/10/1999
100,00
D01
222
10/11/2000
200,00
D03
222
10/12/2001
300,00
D03
333
10/10/2002
400,00
D01
111
10/10/2003
500,00
21
Chaves
Conceito bsico para estabelecer relaes
entre as linhas da tabela;
No modelo relacional so consideradas as
chaves:
primrias;
alternativas; e
estrangeiras.
22
Chave Primria
Coluna ou combinao de colunas cujos valores distinguem
uma linha das demais dentro de uma tabela.
23
Chave Estrangeira
Coluna ou combinao de colunas, cujos valores aparecem na chave
primria (candidata) de uma tabela do banco.
Mecanismo que permite a implementao de relacionamentos em um
banco de dados relacional.
24
Chave Estrangeira
CdigoEmp na tabala Dependente uma chave estrangeira
em relao tabela Empregado.
25
Relacionamento Identificador
Conceitual
CPF
Nome
Pessoa
NSeq
N
Possui
Lgico
CPF
Nome
777
Ana
888
Lia
999
Bia
NSeq
Nome
CPF
Luiz
777
Joao
777
Jose
999
Pessoa
Dependente
Professor Marcio Victorino
26
Nome
Dependente
Relacionamento Identificador
Conceitual
CPF
Nome
Pessoa
NSeq
N
Possui
Lgico
CPF
Nome
777
Ana
888
Lia
999
Bia
NSeq
Nome
CPF
Luiz
777
Joao
777
Jose
999
Pessoa
Dependente
Professor Marcio Victorino
27
Nome
Dependente
28
Nome
Pessoa
CNPJ
(0,N)
(1,1)
Trabalha
Empresa
Lgico
Empresa
Pessoa
Professor Marcio Victorino
CNPJ
Nome
1A
IBM
2B
CA
3C
Sun
CPF
Nome
777
Ana
1A
888
Lia
4D
999
Bia
3C
29
Nome
CNPJ_Empresa
30
Chave Alternativa
EM certas situaes mais de uma coluna ou combinao de colunas
servem para distinguir uma linha das demais dentro de uma tabela.Se
uma destas for escolhida como chave primria, as demais sero
chamadas de chaves alternativas.
No h qualquer diferena entre usar as CdigoEmp ou CIC como chave
primria.
31
32
Restries de Integridade
uma regra de consistncia de dados que garantida pelo
prprio SGBD.
Restries de Integridade Bsicas;
Integridade de Domnio;
Integridade de Vazio;
Integridade de Chave;
Integridade Referencial;
Integridade de Unicidade;
Integridade de Entidade.
So garantidas automaticamente pelo SGBD Relacional.
O programador no precisa implement-las.
33
Restries de Integridade
Integridade de Domnio:
Define os valores que podem ser assumidos pelos
campos de uma coluna.
Integridade de Vazio:
Especifica se os campos de uma coluna podem ou no
serem vazios.
Integridade de Chave:
Define que os valores da chave primria e alternativa
devem ser nicos.
34
Restries de Integridade
Integridade Referencial:
Define que os valores dos campos que aparecem numa
chave estrangeira devem aparecer na chave primria
(candidata) da tabela referenciada.
Integridade de Unicidade:
Define que o valor do campo ou campos so nicos.
Integridade de Entidade:
Define que nenhum valor da chave primria pode ser
nulo.
35
36
37
38
39
40
40
Transformao de Modelos
Mundo
Real
Requisitos
de Dados
Coleta/Especificao
de Requisitos
Requisitos
Funcionais
Projeto Conceitual
Anlise Funcional
Projeto Lgico
Projeto Funcional
Projeto Fsico
Programao
dados
e
regras
SGBD
41
Programa
de
Programa
de
Programa
de
aplicao
de
BD
aplicao
de BD
aplicao
Transformao de Modelos
42
Transformao de Modelos
OBJETIVOS DO PROJETO DE BANCOS DE DADOS
- boa performance;
- simplicidade de desenvolvimento;
- simplicidade de manuteno.
43
Transformao de Modelos
44
Transformao de Modelos
45
Transformao de Modelos
46
Transformao de Modelos
47
Transformao de Modelos
48
Transformao de Modelos
49
50
Implementao da Generalizao
Trs formas de implementao:
Uma TABELA para toda a hierarquia.
Uma TABELA para cada entidade da hierarquia.
Uma TABELA para cada entidade especializada.
CPF
Idioma
CNH
51
Nome
CRM
CPF
Lgico
Nome
Empregado
Idioma
CNH
CRM
52
CPF
Nome
Idioma
CNH
CRM
Tipo
111
Ana
--
--
--
PES
222
Caio
--
--
--
PES
333
Lia
Ingls
--
--
SEC
444
Beto
--
M43
--
MOT
555
Joo
--
--
C32
MED
Idioma
CNH
Lgico
Empregado
Nome
Secretria
CRM
Motorista
Mdico
Professor Marcio Victorino
53
CPF
Nome
111
Ana
222
Caio
333
Lia
444
Beto
555
Joo
CPF
Idioma
333
Ingls
CPF
CNH
444
M43
CPF
CRM
555
C32
Lgico
Secretria
CPF
Nome
CPF
Nome
Idioma
333
Lia
Ingls
Motorista
Idioma
CNH
CPF
Nome
444
Beto
CNH
M43
CRM
Mdico
54
CPF
Nome
CRM
555
Joo
C32
Fim
Professor Marcio Victorino
55