Nveis de Abstrao
Mundo Real
Modelo de Banco de Dados
Modelo Conceitual
Analista
Descreve
Mini-mundo
organiza idias (abstrao da realidade) Define
Modelo Lgico
Modelo Fsico
Fases:
Esquema relacional Tipo_Produto (Codigo, Descricao) P d t (Codigo, Produto (C di N Nome, P Preco, C Cod_Tipo) d Ti ) Cod_Tipo referencia Tipo_Produto)
Modelo lgico g
TIPO_PRODUTO
Banco de Dados
PRODUTO CODIGO 1 2 3 4 DESCRICAO DESKTOP DELL MODELO P III NOTEBOOK TOSHIBA L 1.7 HP 692 C JATO DE TINTA EPSON 1500 L LASER
CODIGO 1 2
PRECO COD_TIPO 2500 3500 600 1200 1 1 2 2
Unidade I
Implementao de entidades: Entidade normalmente transforma-se em tabela: Atributo da entidade ( (simples): simples ): coluna da tabela Nomes: curtos, significativos, sem brancos, se preciso usar abreviaturas p Abreviatura: usar mesmo princpio em todo BD Atributo identificador da entidade: chave primria
Modelo conceitual Modelo lgico
Unidade I
Banco de Dados I
Transformaes entre modelos PARA NOMEAR TABELAS E COLUNAS DE TABELAS CONVENES DURANTE A TRADUO - usar os nomes das tabelas no singular; - nomes de colunas extensivamente utilizados na aplicao = devem ser o mais curtos possveis; - nomes de atributos compostos de diversas palavras devem ser abreviados; - SGBDR no aceita brancos nos nomes de colunas, se preciso usar underline; - no se inclui o nome da tabela no nome da coluna; - a chave primria de uma tabela uma exceo = poder ser uma chave estrangeira de uma outra tabela; - abreviaturas usadas em nomes de colunas devem ser utilizadas da mesma forma em todo o BD.
Unidade I
Banco de Dados I
TRADUO DE RELACIONAMENTOS
- As cardinalidades so os fatores determinantes; - Trs formas bsicas de implementao: - por TABELA PRPRIA PARA O RELACIONAMENTO;
E1
E2
TRADUO
Unidade I
Banco de Dados I
ttulo
ENGENHEIRO
PROJETO
Unidade I
Banco de Dados I
TRADUO DE RELACIONAMENTOS
- por ADIO DE COLUNAS numa das tabelas que participam do relacionamento; e
E1
E2
TRADUO
Unidade I
Banco de Dados I
TRADUO DE RELACIONAMENTO
POR ADIO DE COLUNAS NAS TABELAS QUE PARTICIPAM DO RELACIONAMENTO
- S possvel quando h um relacionamento com cardinalidade mxima 1; - Insere-se na tabela que tem o relacionamento com cardinalidade n; - O(s) identificador(es) da outra tabela sero chave(s) estrangeira(s); - O(s) O( ) atributo(s) t ib t ( ) prprios i do d relacionamento. l i t
cdigo g (0,n)
nome
DEPARTAMENTO
EMPREGADO
Unidade I
Banco de Dados I
TRADUO DE RELACIONAMENTOS
- por FUSO DAS TABELAS das entidades que participam do relacionamento.
E1
E2
TRADUO
Unidade I
Banco de Dados I
TRADUO DE RELACIONAMENTO
POR FUSO DE TABELAS DE ENTIDADES QUE PARTICIPAM DO RELACIONAMENTO - S possvel quando o relacionamento 1:1; - Insere-se na tabela os atributos das entidades e do prprio relacionamento. cdigo nome (1 1) (1,1) data instalao ORGANIZAO (1 1) (1,1) endereo
CONFERNCIA
COMISSO
Conferncia(CodigoConferncia,Nome_Conf,DataInstalao_Org,Endereo_Com)
Unidade I
Banco de Dados I 10
Modelo conceitual
Modelo lgico
Homem (IdentH, Nome)
Homem (IdentH, Nome) Mulher (IdentM, (IdentM Nome) Casamento (IdentM, IdentH, Data, Regime) IdentM referencia Mulher IdentH referencia Homem
Unidade I
Banco de Dados I 11
Modelo lgico
Correntista (CodCorrent, (CodCorrent Nome, Nome CodCartao, CodCartao DataExp)
Correntista (CodCorrent, Nome) Cartao (CodCartao, DataExp, CodCorrent) C dC CodCorrent t referencia f i Correntista C ti t
Unidade I
Banco de Dados I 12
Modelo conceitual
Modelo lgico
Unidade I
Banco de Dados I 13
Tabela prpria
Adio de Coluna
Fuso de Tabelas X
X X
9 9
9 X
Unidade I
Modelo conceitual
Modelo lgico
Financeira (CodFin, Nome)
Financeira (CodFin, Nome) V d (IdVend, Venda (IdV d Data) D t ) Financiamento (IdVend, CodFin, NumParc, TxJuros) IdVend referencia Venda CodFin referencia Financeira
Unidade I
Banco de Dados I 15
Cdigo EDIFCIO
(1, 1)
(1, n) APARTAMENTO
Modelo conceitual
rea
Edificio (CodigoEd, (CodigoEd Endereco) Apartamento (CodigoEd, NumAp, AreaAp) CodigoEd g referencia Edificio
Modelo lgico
Unidade I
Banco de Dados I 16
X X
9 9 9 9
X X X X
9 X
Unidade I
Modelo conceitual
Engenheiro (CodEng, Nome) Projeto (CodProj, (CodProj Titulo) Atuao (CodEng, CodProj, Funcao) CodEng referencia Engenheiro CodProj referencia Projeto
Modelo lgico
Unidade I
Banco de Dados I 18
Tabela prpria
Adio de Coluna
Fuso de Tabelas
(0,N)
(1,N)
(1,N)
(1,N)
9 9 9
X X X
X X X
9 X
Unidade I
Adio de Coluna X
X Tabela prpria X
Fuso de Tabelas
9 9
X X
Tipo de relacionamento Relacionamentos N:N
X Tabela prpria X
9 9 9 Adio de Coluna 9
X X X
9 X
X Fuso de Tabelas X
9 9 9
Unidade I
X X X
Banco de Dados I 20
Modelo lgico
Empregado (CodigoEmp, Nome) Dependente (CodigoEmp, NumSeq, Nome, DataNasc)
Unidade I
Banco de Dados I 21
Modelo conceitual
(0,n) Nmero da Empresa EMPRESA (1,1) Nmero sequencia (0,n) Nmero do Empregado (1, 1) EMPREGADO (0, n) DEPENDENTE Nome Nome
Nome
Data Nascimento
Modelo lgico
G Grupo (CodGrupo, (C dG N Nome) ) Empresa (CodGrupo, NumEmpresa, Nome) Empregado (CodGrupo, NumEmpresa, NumEmpregado, Nome) Dependente (CodGrupo, NumEmpresa, NumEmpregado, NumSeq, Nome, DataNasc)
Unidade I
Banco de Dados I 22
relacionamento transformado em entidade usa-se as regras de implementao de entidades e relacionamentos binrios Modelo conceitual
Unidade I
Banco de Dados I 23
Modelo lgico
Nome Cdigo Nome
Distribuicao (CodCid, CodDistr, CodProd, DataIni) CodCid referencia Cidade CodDistr referencia Distribuidor CodProd referencia Produto
Nome
Unidade I
Banco de Dados I 24
(1) uso de uma tabela para cada entidade (2) uso de uma nica tabela para toda hierarquia Modelo lgico
E Empregado d (CodEmp, (C dE N Nome, CIC CIC, Ti TipoEmp) E ) Motorista (CodEmp, NumCartHab) CodEmp referencia Empregado Engenheiro (CodEmp, CREA) CodEmp referencia Empregado
Modelo conceitual
(1)
(2)
Unidade I
Banco de Dados I 25
Modelo conceitual
Tipo de empregado Nome CIC Nome
Cdigo EMPREGADO
(0, n) LOTAO
(1, 1) DEPARTAMENTO
CREA
Cdigo
MOTORISTA
SECRETRIA (1, n)
(0, n)
Carteira de Habilitao
Cdigo
Nome
Cdigo
Nome
Cdigo
Nome
Unidade I
Banco de Dados I 26
Modelo conceitual
Tipo de empregado Nome CIC Nome
Modelo lgico
Empregado (CodEmp, Nome, CIC, TipoEmp, NumCartHab, CREA, CodDep, CodRamo ) CodDep referencia Departamento CodRamo referencia Ramo
Cdigo EMPREGADO
(0, n) LOTAO
(1, 1) DEPARTAMENTO
(0, n)
Dominio (CodEmp, CodProc) CodEmp referencia Empregado CodProc referencia ProcText Participacao (CodEmp, CodProj) CodEmp referencia Empregado CodProj j referencia Projeto j
Cdigo
Nome
Cdigo
Nome
Cdigo
Nome
Unidade I
Banco de Dados I 27
Unidade I
Banco de Dados I 28
Unidade I
Banco de Dados I 29
DECISO
- O projetista j ti t optar t pela l mais i adequada d d sua situao. it
Unidade I
Banco de Dados I 30
Unidade I
Banco de Dados I 31
Transformaes entre modelos RELACIONAMENTOS MUTUAMENTE EXCLUSIVOS nome nmero data (0,1) PESSOA FSICA
Implementao pelas regras: PessoaFsica(CICPessoaFisica,Nome_PF) PessoaJurdica(CGCPessoaJuridica Nome PJ) PessoaJurdica(CGCPessoaJuridica,Nome_PJ) Venda(NumeroVenda,Data_Vda,CICPessoaFisica, CGCPessoaJuridica) CICPessoaFisica referencia PessoaFsica CGCPessoaJuridica referencia PessoaJurdica Alternativa: PessoaFsica(CICPessoaFisica,Nome_PF) PessoaJurdica(CGCPessoaJuridica,Nome_PJ) Venda(NumeroVenda,Data_Vda,CIC/CGC,Tipo) - Evita-se colunas opcionais; - No permite especificar ao SGBDR que CIC/CGC chave estrangeira.
CIC
CGC (0,1)
razo social i l
PESSOA JURDICA
Unidade I
Banco de Dados I 32
Transformaes entre modelos SIMULAO DE ATRIBUTOS MULTI-VALORADOS cdigo nome cdigo nome
CLIENTE telefone(0,n)
Implementao pelas regras: Cliente(CodigoCliente,Nome_Cli) Telefone(CodigoCliente,Nmero_Tel) ( g _ ) CodigoCliente referencia Cliente
CLIENTE (1,1)
Unidade I
Banco de Dados I 33
Transformaes entre modelos USO DE INFORMAES REDUNDANTES cdigo roteiro nro de reservas
VO (1,1)
- O nmero de reservas feito atravs de uma contagem das linhas da tabela reserva. Sob o ponto de vista de projeto, esta uma informao redundante. -Um atributo contendo este valor poderia contribuir com a performance, uma vez que no seria necessria uma contagem em toda tabela quando se necessitasse desta informao.
passageiro
Unidade I
Banco de Dados I 34