Banco de Dados - Alessandro Carneiro

Propaganda
INSTITUTO FEDERAL NORTE DE MINAS GERAIS
Curso Técnico em Informática
Disciplina: Banco de Dados
Professor: Alessandro Carneiro Ribeiro
E-mail: [email protected]
Aula 02
Modelo de Dados
Modelo Conceitual
Modelo de Implementação
Entidades e Atributos
 Modelo de Dados: Conjunto de conceitos que descrevem a estrutura dos dados de
um sistema de BD.
 Objetivo de um modelo de dados é representar graficamente os dados de forma
padronizada para uma melhor compreensão do sistema de Banco de Dados. Para
isso será usado a ferramenta DER (Diagrama Entidade Relacionamento).
 Neste curso vamos trabalhar com dois tipos de modelo de dados:
1. Modelo Conceitual de Banco de Dados:
 Representa os dados de acordo com a regra de negócio do sistema que está
sendo projetado independente do software e hardware no qual o sistema
será implementado.
 Existem diversas notações no mercado: Peter Chen, James Martin, Merise,
OMT, etc.
 Este modelo é construído segundo uma MDS na atividade de análise de
sistemas (projeto lógico do sistema).
Cliente
Solicita
R
e
a
lid
a
d
e
Pedido
Contém
Produto
 Exemplo: um pequeno modelo conceitual para um sistema de uma pizzaria:
Cliente (Nome, Endereço, Telefone)
Pedido (Numero, Valor_Total, Desconto)
Produto (Descricao, Quantidade, Preco_Venda)
Solicita (Data)
Contém (Quantidade, Preco_Pago)
2. Modelo de implementação do Banco de Dados (modelo físico):
 Representa os dados na forma como será implementado, logo dependente
do software e hardware no qual o sistema será implementado.
 Existem diversas abordagens no mercado que depende do SGBD que se está
trabalhando: Relacional, Orientado a Objetos, Objeto Relacional,
Hierárquica, Rede...
 Este modelo é construído segundo uma MDS na atividade de projeto de
sistemas (projeto físico do sistema).
 É gerado a partir do modelo conceitual previamente construído.
 Ex 1: Modelo de implementação do sistema de uma pizzaria para SGBDs
T
a
b
e
la
s
Relacionais:
 Ex 2: Modelo de implementação do sistema de uma pizzaria para SGBDs
Orientado por Objetos:
Modelo Conceitual de Banco de Dados
 Primeira etapa do projeto de Banco de Dados para um SI, cujo objetivo é obter
uma descrição abstrata, independente da implementação do BD em computador.
 A ferramenta mais utilizada é o Diagrama Entidade Relacionamento (DER) ou
Modelo Entidade Relacionamento (MER), criada por Peter Chen em 1976.
 Baseado na percepção da realidade pelo analista. Logo supõem-se já feito um bom
LD.
 Será dado ênfase neste curso na notação de James Martin por ser mais fácil de
desenhar e Ter maior abrangência de mercado atualmente (notação do pé de
galinha!).
<<entity>>
Cliente
Nome
Endereco
Telef one
1
<<entity>>
Pedido
<<entity>>
Produto
Valor_Total
Desconto
0..*
SolicitaData
Descricao
Quantidade
0..* "Gerar Nota Fiscal"
1..*
"Obter Clientes em Débito"
Preco
"Obter Pedidos do Dia"
"Enviar Mala Direta"
<<entity>>
Item_Pedido "Obter Estoque C
persistent
persistent
"Obter Produtos m
"Atualizar Preço V
Quantidade
Preco
persistent
"Atualizar Valor Total do Pedido"
"Dar Baixa Estoque"
C
lasses
(O
b
jeto
s)
persistent
Conceitos
Entidade
 "Objeto do sistema que está sendo modelado sobre o qual deseja-se manter
alguma informação útil para o usuário".
 Exemplos de entidades:
Sistema Pizzaria: Cliente, Produto, Caixa, Fornecedor, ...
Sistema Recursos Humanos: Funcionário, Departamento, Benefício, ...
Sistema universitário: Aluno, Professor, Funcionário, Disciplina, Curso, ...
Sistema hospitalar: Médico, Paciente, Convênio, Exame, ...
Sistema Bancário: Agência, Cliente, Tipo de Movimentação, Tipo de Aplicação,
...
 A existência de uma entidade (Entity) não deve depender de outro objeto do
sistema: por isso também chamada Entidade Forte ou Entidade Independente.
 Uma entidade pode ser:
Um objeto real, como um livro, uma máquina, um lugar, avião.
Uma pessoa física ou jurídica como um empregado, cidadão, cliente, fornecedor,
empresa.
Um conceito abstrato, como um curso, uma cor, um projeto, um departamento.
 A representação de uma entidade no modelo conceitual (DER) é um retângulo:
Cliente
Produto
 Quando for implementada em um SGBD relacional pode ser pensada como uma
tabela contendo vários registros (os objetos).
 Toda entidade possui atributos que a caracterizam. Estes atributos são de diversos
tipos:
1. Atributos simples ou compostos:
Simples: Nome_Cliente, CPF_Funcionário, Salário_Bruto, Quantidade,
Descrição.
Composto: Endereço [rua, número, cep, cidade, estado], Data_Nascimento [Dia,
Mês, Ano].
2. Atributos monovalorados ou multivalorados:
Monovalorado: CPF, CI, Data_Nascimento, Telefone, Endereço.
3. Multivalorado: Telefones(0,n), Cores(0,5), Endereços(0,2).Atributos obrigatório
ou opcional:
Obrigatório: Nome_Cliente, Título_Livro, Quantidade_Estoque.
Opcional: Sexo(0,1), Data_Pagamento(0,1), Salário_Líquido(0,1), CPF(0,1),
Telefone(0,n).
4. Atributos derivados ou não derivados:
Derivado: Saldo, Salário_Líquido, Valor_Total_Fatura, Idade.
Não Derivado: Nome, Endereço, CPF, Data_Nascimento.
Observação Importante: Alguns SGBDs não aceitam nome de entidades ou atributos
contendo espaços em branco ou acentuação. Como forma de padronização, neste
curso, as entidades e atributos não conterão espaços em branco e nem acentuação.
Todos começarão com um caracter não numérico em maiúsculo, separados por
undescore (_) se for o caso.
 Atributo Identificador: Um conjunto de um ou mais atributos cujos valores
servem para distinguir uma ocorrência da entidade das demais ocorrências da
mesma entidade.
 Também chamado de Chave Primária ou Primary Key.
 Pode ser um atributo artificialmente controlado pelo sistema ou usuário, ou pode
ser um atributo natural.
 No System Architect:
Medico
Primary
Key
Cl i ente
P rim ary
K ey
Sessao _Ci
Primary
Key
Codi go_Cl iNumero
ente
[PK
1]
_Sa
CRM
[PK1]
Non-K
ey
A
ttribut
es
Non-Key A ttributes
Data_Sessa
Nome
Ho ra_Inici
No me
Endereco Non-Key Att ri
Endereco
Tel efone
Ho ra_Fim
Telefo ne
CPF
Publico
 Notação Alternativa:
N
u
m
e
r
o
_
S
a
l
a
C
o
d
i
g
o
_
C
l
i
e
n
t
e
S
e
s
s
a
o D
a
t
a
_
S
e
s
s
a
o
N
o
m
e
N
o
m
e
M
e
d
i
c
o
C
l
i
e
n
t
e
C
i
n
e
m
a H
o
r
a
_
I
n
i
c
i
o
E
n
d
e
r
e
c
o
E
n
d
e
r
e
c
o
(
0
,
2
)
H
o
r
a
_
F
i
m
T
e
l
e
f
o
n
e
T
e
l
e
f
o
n
e
(
0
,
n
)
P
u
b
l
i
c
o
(
0
,
1
)
 Notação que usaremos para atributos (para não sobrecarregar o diagrama):
Medico (@CRM, Nome, Endereco, Telefone).
Cliente (@Codigo_Cliente, Nome, Endereco(0,2), Telefone(0,n).
Sessao_Cinema (@Numero_Sala, @Data_Sessao, @Hora_Inicio, Hora_Fim,
Publico(0,1))
 Informalmente estaremos suprimindo a opcionalidade do atributo ou se é ou não
multivalorado embora isto seja importante no modelo e em softwares CASE:
Cliente (@Codigo_Cliente, Nome, Endereco, Telefone)
Sessao_Cinema (@Numero_Sala, @Data_Sessao, @Hora_Inicio, Hora_Fim,
Publico)
C
R
M
Entidade Fraca
 "Uma entidade que depende para existir de um outra entidade do sistema".
 Também denominada "Weak Entity" ou "Entidade Dependente".
 Exemplos de entidades Fraca:
Sistema Pizzaria: Pedido depende para existir de um cliente.
Sistema Recursos Humanos: Contra Cheque depende de funcionário.
Sistema universitário: Boleta depende de Aluno.
Sistema hospitalar: Consulta depende de um cliente e de um médico.
Sistema Bancário: Conta depende de um cliente.
 A representação de uma entidade fraca no modelo conceitual (DER) é um
retângulo de bordas duplas:
Dependente
Conta
Dependente( @Nome_Dependente, Sexo, Parentesco)
Conta ( @Numero_Conta, Saldo)
Exercícios de Fixação
1)
2)
3)
4)
5)
6)
7)
Para que serve o modelo de dados?
Diferencie modelo conceitual e modelo de implementação de um banco de dados.
O que são Entidades e Atributos em um modelo de dados?
Cite exemplos de Entidades e Atributos.
Quais os tipo de atributos? Dê exemplos.
O que é uma Entidade Fraca?
Para a descrição do sistema abaixo, liste as principais entidades e atributos para o sistema:
O sistema de controle para uma Pizzaria tem como finalidade dar suporte ao controle de cadastros
de clientes, pedidos, entrega, estoque, fluxo de caixa (contas a pagar e a receber) e fornecedores. Ao
realizar o pedido o sistema identificará se o cliente é cadastrado e fornecerá ao cliente o tempo
aproximado para a entrega da pizza. Será também verificado o crédito e a forma de pagamento.
Depois de confirmado o pedido e o crédito do cliente será emitido uma ordem de entrega e dado
baixa no estoque para que se possam emitir ordens de compras aos fornecedores, se necessário. O
sistema possuirá todo um cadastro de fornecedores com seus respectivos produtos (pizzas
semiprontas, refrigerantes, cervejas, etc) para auxiliar na compra dos mesmos. O sistema emitirá
relatórios semanais de fluxo de caixa para a gerência.
Download