BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE
BANCO DE DADOS)Professor Carlos Muniz
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Definição de modelo
2
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Parece trivial o que pode ser um modelo, mas vamos nos esquecer da
informática por um momento, para assim explorarmos outras
possibilidades interessantes.
A seguir uma das muitas definições que “modelo” pode ter, e que serve
particularmente aos casos que iremos enquadrar:
Modelo é a representação abstrata e simplificada de um
sistema real, com a qual se pode explicar ou testar o seu
comportamento, em seu todo ou em partes.
* Exemplo do anúncio de apartamento no jornal (planta baixa).
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Definição de modelo
3
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
“Dados são os fatos em sua forma primária, como por exemplo um
nome de um empregado e o número de horas trabalhadas em uma
semana, números de peças em estoque ou pedidos de vendas.” (Stair,
1996).
“Quando estes fatos estão organizados ou arranjados de uma maneira
significativa, eles se tornam uma informação. Informação, portanto, é
um conjunto de fatos organizados de tal forma que adquirem um valor
adicional além do valor do fato em si. Por exemplo, um certo gerente
pode achar que o conhecimento do total de vendas mensais é mais
adequado ao seu propósito, ou seja, tem mais valor, do que as vendas
de cada representante de vendas individualmente.” (Stair, 1996)
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Definição de modelo
4
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Banco de dados: “É uma coleção de dados relacionados. Dados, por sua
vez são uma coleção de fatos que podem ser guardados e que tem um
significado implícito...” (Navathe, 1994)
SGBD: “é uma coleção de programas que permite ao usuário criar e
manter um banco de dados.” (Navathe, 1994)
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
O Modelo Conceitual de Dados
5
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
A Abordagem Entidade-Relacionamento (E-R)
Em março de 76, Peter P. Chen publicou o trabalho “The Entity-
Relationship Model: Toward the unified view of data”, onde definia
uma possível abordagem ao processo de modelagem dos dados. Passou
a ser considerado o referencial definitivo.
Conceitos Básicos do Modelo E-R
Utiliza-se basicamente um retângulo para representar entidades, um
losango para relacionamentos e balões para os atributos.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
O Modelo Conceitual de Dados
6
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
A proposta perdura até hoje devido ao preceito básico da formalização
do óbvio. Por isso o modelo é ao mesmo tempo objetivo, flexível e
adaptável. (Sua maior qualidade)
A Lei do Mundo: O mundo está cheio de coisas (entidades no original)
que possuem características próprias e que se relacionam entre si.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
O Modelo Conceitual de Dados
7
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Chen enunciou o que todos já sabiam e faziam: “Observamos,
manipulamos, reproduzimos ou simulamos coisas, seus
relacionamentos e características e, portanto, assim devemos
representálas!”.
Conceito Básico na “Lei do
Mundo”
Abordagem do Modelo E-R
Conjunto de objetos, ou elementos
individualizados
Entidades
Individualização de objetos ou
elementos
Instâncias ou Ocorrências
Características próprias Atributos
Inter-relacionamento de objetos Relacionamentos
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Entidades
8
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Conjunto de objetos da realidade modelada sobre os quais deseja-se
manter informações no banco de dados.
Identificação das Entidades
Devemos procurar reconhecer objetos, ou elementos individualizados,
através da observação de cinco grandes grupos de elementos:
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Entidades
9
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Conjunto (entidade) Objetos que pertencem ao
conjunto
Meio de transporte Avião, automóvel, bicicleta
Animal Cachorro, cavalo, elefante
Utensílio doméstico Garrafa, mesa, telefone, panela
Utensílio escolar Livro, lápis, borracha, quadro,
disquete
Equipamento Computador, máquina de
escrever, calculadora
Pertence pessoal Chave, carteira, agenda, camisas
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Relacionamentos
10
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Conjunto de associações entre ocorrências de entidades.
Identificação dos Relacionamentos
Relacionamento entre objetos de diferentes tipos
•Exemplo da pessoa e do carro: Eduardo tem um jipe amarelo.
A- Identificar os objetos envolvidos: Pessoa e Carro
B- Caracterizar os objetos: Pessoa (Nome, CPF, nascimento) e
Carro (Marca,
modelo, cor, ano de fabricação, placa)
C- Representar os objetos: fazer os desenhos
D- Identificar o relacionamento entre os objetos: Pessoa é
proprietária de Carro
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Relacionamentos
11
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
E- Caracterizar o relacionamento entre os objetos:
Nem toda pessoa é proprietária de um carro
Um carro pode pertencer a uma pessoa ou não
Algumas pessoas têm mais de um carro
Se um carro pertence a uma pessoa ele não pertence a mais ninguém
F- Representar o relacionamento
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Caracterização dos Relacionamentos
12
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Sua caracterização deverá ser feita baseada no atendimento de alguns
requisitos:
• Cardinalidade (ou grau) do relacionamento
Pode ser 1:1 (Um para Um), 1:N (Um para Muitos) ou M:N (Muitos
para Muitos - deverá ser desfeito no modelo lógico)
• Número de elementos que participam do relacionamento
Relacionamentos geralmente se dão entre duas entidades, pois
relacionamentos ternários ou de maiores graus não são muitos
freqüentes.
• Condição de participação dos elementos no relacionamento
• Condição de estabelecimento do relacionamento
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Atributos
13
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Dado que é associado a cada ocorrência de uma entidade ou de um
relacionamento.
O Papel dos Atributos
O atributo é uma característica própria de cada um dos objetos em um
ambiente. Essas características devem ser comuns a todos os objetos,
ou elementos individualizados, pertencentes a um mesmo conjunto.
2.5.2 Atributos Identificados de Entidades
Conjunto de um (identificador simples) ou mais (identificador
composto) atributos cujos valores servem para distinguir uma
ocorrência da entidade das demais ocorrências da mesma entidade.
Identificado por um círculo preenchido.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Atributos
14
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Relacionamentos Identificadores (Entidade Fraca)
A entidade fraca deriva do fato de ela somente existir quando
relacionada a uma outra entidade. Sua representação se dá por uma
linha mais grossa no relacionamento com a entidade “forte”. Exemplo:
Empregado e dependente.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Atributos Identificadores de
Relacionamentos
15
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Em alguns casos certos relacionamentos podem ocorrer várias vezes e
podem ser diferenciados. Exemplo: Médico consulta paciente.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
O Modelo Relacional de Dados
16
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Evolução dos Modelos Lógicos de Dados
O modelo lógico é uma ferramenta para descrição de estruturas de
dados em uma forma passível de ser processada por um SGBD. É um
nível de abstração mais baixo que um Modelo Conceitual, mas mais
alto que um Modelo Físico, pois não considera aspectos físicos de
armazenamento, acesso e desempenho.
3.2 Histórico do Modelo Relacional
O Modelo Relacional foi introduzido por Codd em 1970, como auxílio
para o desenvolvimento de banco de dados relacionais:
• Forte base teórica, fundamentada na teoria dos conjuntos;
• Conceitos simples: relações, atributos, tuplas e domínios;
• Base para a maioria dos SGBDs que dominam o mercado.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Os Principais Elementos de um BD
Relacional
17
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Tabelas
Uma tabela (ou relação) é um conjunto não ordenado de linhas (ou
tuplas). Um exemplo de tabela (a seguir) que armazena dados de
empregados de uma organização.
CodigoEmp Nome CodigoDepto CategFuncional
E5 Souza D1 C5
E3 Santos D2 C5
E2 Silva D1 C2
E1 Soares D1 -
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS)
Os Principais Elementos de um BD
Relacional
18
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Tabelas
Cada linha é composta por uma série de campos (valor de atributo).
Neste exemplo cada linha é referente a um empregado da companhia e
cada campo é uma informação referente a este empregado (código,
nome, departamento, categoria funcional).
Cada campo é identificado por um nome de campo (nome de atributo),
que na tabela representam o cabeçalho da tabela.
O conjunto de campos homônimos de uma tabela forma uma coluna.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS) Os Principais Elementos de um BD
Relacional
19
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Tabelas
Tabela de banco de dados relacional X Arquivo convencional de
sistema operacional:
• As linhas da tabela não tem ordenação, a menos que na consulta
seja explícita essa ordenação. Já num arquivo comum você pode
acessar um certo conteúdo referenciando sua linha de relativa dentro
do arquivo.
• Os valores de campo dentro da tabela são atômicos (não pode ser
composto de outros) e monovalorados (possui um único valor). Esses
tipos de representações podem ser feitas em muitas linguagens de
programação.
• Para consultar um banco de dados o acesso pode ser por quaisquer
critérios envolvendo os campos de uma ou mais linhas. Num arquivo
isso só seria possível com uma estrutura de apoio como ponteiros.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS) Chave Primária
20
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Chave => Conceito básico para identificar as linhas e estabelecer
relações entre as linhas de tabelas em um banco de dados.
A chave primária é uma coluna (ou combinação de colunas) cujos
valores identificam umalinha das demais dentro da tabela. Na tabela
exemplo da página anterior a chave primária é a coluna CodigoEmp.
Um exemplo de chave primária composta seria a tabela de
Dependentes a seguir, onde é preciso se considerar as colunas
CodEmp e NoDepen para identificar cada linha.
CodEmp NoDepen Nome Tipo DataNasc
E1 01 João Filho 12/01/2001
E1 02 Maria Filha 20/10/2003
E2 01 Ana Esposa 12/12/1970
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS) Chave Estrangeira
21
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Uma chave estrangeira é uma coluna (ou colunas no caso da chave
composta) cujos valores aparecem necessariamente como chave
primária em alguma tabela. É através das chaves estrangeiras que
são implementados os relacionamentos em um banco de dados
relacional.
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS) Implementação das Entidades e Atributos
22
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Este passo é razoavelmente óbvio:
• Cada entidade define uma tabela;
• Cada atributo da entidade define uma coluna desta tabela;
• Os atributos identificadores da entidade definem as colunas que
compões a chaveprimária da tabela.
Exemplo:
Esquema relacional correspondente:
Pessoa (CodigoPess, Nome, Endereco, DataNasc, DataAdm)
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS) Implementação das Entidades e Atributos
23
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Na conversão dos nomes dos atributos para os nomes das colunas não
é aconselhável transcrever os mesmos nomes dos atributos
iretamente para o nome das colunas. Como as colunas são acessadas
por outros programas é conveniente manter seus nomes curtos. Além
disso em SGBDs nomes de colunas não podem espaços em branco nem
hífens, e é aconselhável não usar acentos e cedilha.
Ao se usar abreviaturas, manter o padrão durante todo o projeto. E
não usar o nome da tabela junto aos nomes das colunas (salvo a chave
primária).
Relacionamento identificador:
BANCO DE DADOS
INTRODUÇÃO (MODELAGEM DE BANCO DE
DADOS) Implementação das Entidades e Atributos
24
Pro
fesso
r Carlo
s Mu
niz
pro
fesso
rcarlo
smu
niz
@gm
ail.co
m
Caso a entidade possua um relacionamento identificador (como no
exemplo do Empregado e dependente da página anterior) devemos
seguir:
• Para cada relacionamento identificador é criada na tabela que
implementa a entidade identificada (Dependente recebe uma chave
estrangeira que é a chave primária de Empregado);
• A chave primária da tabela que implementa a entidade identificada
pelo relacionamento identificador é formada pelo identificador da
entidade mais as chaves estrangeiras que mapeiam o relacionamento
(a chave de Dependente é formada pelo código de empregado e o
número de seqüência do dependente).
Top Related