Escolar Documentos
Profissional Documentos
Cultura Documentos
DE
INFORMTICA
MODELAGEM DE
DADOS 1
Primeira Etapa
______________________________________________________Modelagem de Dados 1
CAPITULO I
VISO GERAL DO GERENCIAMENTO DE
BANCO DE DADOS
O computador uma mquina como muitas outras, mas que possui algumas
caractersticas que a distinguem das demais, como a velocidade do processamento e a
capacidade de armazenamento. um equipamento que, com o passar dos anos, se
tornou de uso pessoal e profissional, podendo ser utilizado no lazer e no dia-a-dia, nas
mais variadas tarefas. Olhando por um prisma mais direto, o computador possui trs
tarefas bsicas: entrada, processamento e sada de dados.
A entrada de dados responsvel pela importao das informaes para o
computador e est relacionada diretamente interao com o usurio, pois na maioria
das vezes depende da informao digitada por ele atravs da forma mais simples de
interao: o teclado. J a sada de dados representa os dados informados na entrada,
mas que, de alguma forma, foram transformados atendendo as expectativas do usurio,
sendo apresentados por meio de algum dispositivo de sada, como impressora ou
monitor.
O processo de transformao dos dados de entrada em dados de sada chama-se
processamento. Com o passar dos anos, uma nova tarefa to importante quanto s
outras foi adicionada a esse ambiente: o armazenamento dos dados.
To importante quanto informar os dados, process-los e apresent-los, a sua
organizao e armazenamento no computador passou a ser uma tarefa essencial,
principalmente pelo grande nmero de usurios que podem interagir com o equipamento
ao mesmo tempo. Com o passar dos anos, o nmero de dados processados cresceu de
forma assustadora e, de forma inversamente proporcional, o computador tem diminudo
em dimenses fsicas e aumentado em capacidade de armazenamento e processamento
de dados.
Gerenciar e armazenar dados tornou-se uma tarefa complexa, que envolve muitas
ferramentas e tecnologias. Com a grande evoluo da computao ou da informtica em
geral, os equipamentos tm evoludo muito, o que tem tornado o seu custo mais
acessvel. Com isso, o uso do computador tem atingido os mais variados perfis de
usurios.
A principal finalidade do computador armazenar dados, que possam ser
acessados a qualquer momento e em qualquer lugar do mundo. Quanto maior o nmero
de computadores, maior o nmero de dados a serem gerenciados e processados. Como a
tendncia que esse nmero aumente a cada ano, a complexidade dos dados
armazenados dever ser um grande problema na rea de informtica.
Em paralelo a esse grande nmero de novos usurios de computadores, bem
como expanso na facilidade de acesso aos computadores e s novas tecnologias em
hardware, h tambm uma grande evoluo na rea de softwares, principalmente os que
se destinam ao gerenciamento dos dados armazenados no computador. Esses softwares
Pgina 2 de 37
______________________________________________________Modelagem de Dados 1
ou aplicativos se destinam a uma rea especfica da informtica, que se chama banco
de dados.
Pgina 3 de 37
______________________________________________________Modelagem de Dados 1
______________________________________________________Modelagem de Dados 1
No vasto mundo da tecnologia da informao, h poucas coisas to fascinantes
quanto forma de armazenamento, controle e recuperao dos dados referentes a
sistemas de informao.
A anlise de um sistema de informao comea pela definio do objetivo a ser
atingindo e das informaes que se pretende armazenar a respeito do assunto que define
o sistema.
A primeira providncia a tomar o contato direto com os dados pertinentes s
informaes de que se deseja tratar.
A utilizao prtica dessas informaes, mesmo sabendo que parecem ser
complexas, de domnio relativamente fcil a partir do momento em que se decide sobre
as configuraes bsicas para guardar, controlar e recuperar em tempo hbil os dados
especficos que apiam as informaes desejadas.
Quando se abordam os conceitos de dados e informaes, deve-se ter presente
que dado um conjunto de smbolos arrumados de forma a representar uma informao,
e que a informao propriamente dita compreende os dados que foram inseridos e
processados por um computador, relativos a um assunto determinado, vrios assuntos,
ramos de atividades, produtos ou servios, que se tornam disponveis a quem os
requisitou.
A informao, portanto, um dado ao qual se agrega valor e que afeta as
empresas de forma efetiva, o que a transforma num bem to precioso quanto o seu
patrimnio. Para que o crescimento de uma empresa no mercado seja alcanado e para
que ela consiga tratar as novas tecnologias apresentadas, ter que se preocupar muito
em como organizar e recuperar suas informaes.
Nos mais elementares campos do conhecimento humano, existem repositrios
gigantescos de dados que permitem a recuperao de informaes cruciais para o
atendimento das necessidades das pessoas e das organizaes.
Documentos de
identidade, registros de nascimento e de casamento, ttulos eleitorais, carteiras de
motoristas, entre outros, so exemplos conhecidos desses gigantescos repositrios.
Todas as vezes que algum realiza uma transao num caixa eletrnico do seu
banco, deseja obter informaes que sejam geradas de forma rpida e restrita, sem
redundncia e, principalmente, ntegras.
A dificuldade em se manipular e controlar os imensos repositrios de dados
existentes leva a estudos cada vez mais apurados das tecnologias aplicadas aos mtodos
de armazenamento de informaes e seus impactos no uso de computadores.
Quando se estudam as formas de armazenamento, controle e recuperao de
dados, necessrio fazer referncia aos computadores envolvidos e aos relacionamentos
existentes entre eles para a determinao dos tipos e da representao desses tipos por
meio de modelos ou esquemas fceis de serem tratados.
Uma coleo de informaes relacionadas entre si, referentes a um mesmo
assunto, e organizadas com o propsito de servir de base para que o usurio as recupere,
tire concluses e tome decises, o que define um banco de dados.
O banco de dados, por si s, pode ser considerado como o equivalente eletrnico
de um armrio de arquivamento; ou seja, ele um repositrio ou recipiente para uma
coleo de arquivos de dados computadorizados. Os usurios de um sistema podem
Pgina 5 de 37
______________________________________________________Modelagem de Dados 1
realizar (ou melhor, solicitar) que o sistema realize diversas operaes envolvendo tais
arquivos por exemplo:
De uma forma acadmica pode-se definir um banco de dados como uma coleo
de dados persistentes, usada pelos sistemas de aplicao de uma determinada
empresa.
______________________________________________________Modelagem de Dados 1
de informaes de todas as aplicaes, facilita o desenvolvimento de novas aplicaes e
a aplicao das restries de segurana.
Aplicao
1
Aplicao
2
Aplicao
3
Explicao
Auto-Conteno
Independncia
Dados
dos
Vises
Transaes
Pgina 7 de 37
______________________________________________________Modelagem de Dados 1
Acesso Automtico
Pgina 8 de 37
______________________________________________________Modelagem de Dados 1
Um SGBD composto de uma coleo de arquivos inter-relacionados e de um
conjunto de programas que permitem aos usurios fazer acesso e modificar esses
arquivos. O grande objetivo de um sistema de bancos de dados prover os usurios uma
viso abstrata dos dados, isto , o sistema omite certos detalhes de como os dados so
armazenados e mantidos. Entretanto, para que o sistema possa ser utilizado, os dados
devem ser buscados eficientemente. Este conceito de abstrao de dados tem
direcionado o projeto de estruturas de dados complexos para a representao de dados
em banco de dados. Uma vez que muitos dos usurios de banco de dados no so
treinados em computao, a complexidade est escondida deles atravs de diversos
nveis de abstrao que simplificam a interao dos usurios com o sistema.
Nvel fsico. O nvel mais baixo de abstrao descreve como os dados esto
realmente armazenados. No nvel fsico so descritas a estrutura fsica de
armazenamento do banco de dados, sua organizao de arquivos e seus
mtodos de acesso.
Nvel de Vises
(Viso do usurio individual)
Nvel Conceitual
Nvel Fsico
1.3.2- CLASSIFICAO
Pgina 9 de 37
______________________________________________________Modelagem de Dados 1
Os sistemas gerenciadores de banco de dados podem ser classificados de diversas
maneiras, como por modelo de dados, por nmero de usurios, por localizao, entre
outros.
Por Modelo de Dados
Modelo
Descrio
Modelo Hierrquico
Modelo de Rede
Modelo Relacional
Modelo
Objetos
Orientado
Pgina 10 de 37
______________________________________________________Modelagem de Dados 1
Modelo
Descrio
caracterstica desse tipo de banco de dados a abstrao dos dados. Combina os
benefcios e conceitos da programao orientada a objetos com a funcionalidade
dos banco de dados. A vantagem a lgica contida no objeto e a possibilidade de
ser reutilizado vrias vezes em diversas aplicaes.
Tolerncia a falhas;
Independncia em relao ao site central;
Autonomia para as transaes locais;
Independncia de localizao;
Independncia de replicao;
Independncia de hardware e de rede;
Processamento distribudo de consultas;
Independncia do sistema operacional;
Gerenciamento de transaes distribudas;
Controle de consistncia.
______________________________________________________Modelagem de Dados 1
CAPITULO II
MODELOS DE BANCO DE DADOS
Um modelo de (banco de) dados uma descrio dos tipos de informaes que
esto armazenadas em um banco de dados.
Modelo de Dados
Pgina 12
de 37
=
Descrio formal da estrutura de um banco de dados
______________________________________________________Modelagem de Dados 1
______________________________________________________Modelagem de Dados 1
O objetivo do modelo conceitual descrever de forma simples e facilmente
compreendida pelo usurio final as informaes de um contexto de negcios, as quais
devem ser armazenadas em um banco de dados. uma descrio de alto nvel, mas que
tem a preocupao de captar e retratar a realidade de uma organizao, processo de
negcio, setor, repartio, departamento, etc.
Devemos destacar que o modelo conceitual no retrata nem vinculado aos
aspectos ligados a abordagem de banco de dados que ser utilizado e tampouco se
preocupa com as formas de acesso ou estruturas fsicas implementadas por SGBD
especfico.
O resultado de um modelo conceitual um esquema grfico que representa a
realidade das informaes existentes em um determinado contexto de negcios, assim
como as estruturas de dados em que esto organizadas essas informaes.
O modelo conceitual nunca deve ser construdo com consideraes sobre
processos de negcios.
O foco deve ser dirigido sempre ao entendimento e
representao de uma realidade de um contexto.
Pgina 14 de 37
______________________________________________________Modelagem de Dados 1
Modelagem Conceitual
Nesta primeira fase, construdo um modelo conceitual, na forma de um
diagrama entidade-relacionamento. Este modelo independe da implementao.
Projeto Lgico
Objetiva transformar o modelo conceitual obtido na primeira fase em um modelo
lgico. O modelo lgico define como o banco de dados ser implementado em um
SGBD especfico.
Projeto Fsico
Nesta etapa, o modelo de BD enriquecido com detalhes que influenciam no
desempenho do BD, mas no interferem em sua funcionalidade. Alteraes neste
modelo no afetam as aplicaes que usam o BD.
CAPITULO III
BANCO DE DADOS RELACIONAL
Pgina 15 de 37
______________________________________________________Modelagem de Dados 1
Criado por Edgar F. Codd, nos anos 70, comeou a ser realmente utilizado nas
empresas a partir de 1987. A abordagem relacional est baseada no principio de que as
informaes em uma base de dados podem ser consideradas relaes matemticas e que
esto representadas de maneira uniforme com o uso de tabelas bidimensionais.
Este princpio coloca os dados direcionados a estruturas mais simples de
armazenamento de dados, que so as tabelas, e nas quais a viso do usurio
privilegiada.
Exemplo 1
Tabela de CDs
N do
CD
Dt da
Gravao
Ttulo do
Contedo
Responsvel
Pgina 16 de 37
______________________________________________________Modelagem de Dados 1
1
3
2
4
24/01/2001
13/02/2000
14/12/2000
25/01/2000
Clipart
IRRF 2000
Backup Textos
Fotos Gramado
Samir
Felipe
Felipe
Samir
Estojo Verde
Caixa de Documentos
Estojo Azul
Caixa de lbum 3
Exemplo 2
Tabela Funcionrios
Nome
Sexo
Joo Carlos
Carlos Brito
M
M
Matrcul
a
373
872
Silvia Morais
963
Departame
nto
TI Operaes
TI
Programao
TI Anlise
Claudia Tereza
Pedro Julio
Pedro Julio
F
M
M
161
292
574
TI Gerncia
RH
TI Anlise
Cargo
Salrio
Operador
Programador I
3.000,00
3.500,00
Analista
Sistemas II
Secretaria
Diretor
Analista
Sistemas I
5.500,00
1.500,00
6.000,00
4.500,00
Salrio
Nome
3.000,00
3.500,00
Joo Carlos
Carlos Brito
Sexo
M
M
Matrcu
la
373
872
Departamen
to
TI Operaes
TI
Pgina 17 de 37
Cargo
Operador
Programador I
______________________________________________________Modelagem de Dados 1
5.500,00
1.500,00
6.000,00
4.500,00
Silvia Morais
Claudia Tereza
Pedro Julio
Pedro Julio
F
F
M
M
Programao
TI Anlise
TI Gerncia
RH
TI Anlise
963
161
292
574
Analista Sistemas II
Secretaria
Diretor
Analista Sistemas I
O importante que toda vez que nos referimos tabela funcionrios visualizemos
os dados que ela contm, e simbolizando valores possveis, pois assim vamos
mentalizando e nos abstraindo em algum objeto que a tabela representa.
3.2CARACTERSTICAS
RELAO (TABELA)
PRINCIPAIS
DE
UMA
NomeFunc
DtAdmisso
Dia Ms Ano
10
08
2
003
02
08
2
004
23
03
2
002
10
05
2
001
05
12
2
002
Se
xo
M
Luis Sampaio
104
Carlos Pereira
134
Jos Alves
121
25
Marta Silveira
139
12
01
123
29
01
148
Larissa Silva
01
06
115
Roberto Fernandes
15
06
22
Sergio Nogueira
10
10
2
003
2
003
2
002
2
003
2
000
Atributo
Composto
M
M
M
F
M
F
M
M
Fone
25658974
313314649
23868897
22415896
26935521
25948523
25948522
45458899
24968855
42899675
26858132
25943122
CodDep
to
D5
D6
D1
D5
D5
D6
D3
D6
D5
D4
Atributo
Multivalorado
______________________________________________________Modelagem de Dados 1
existncia da mltipla ocorrncia de valores (multivalorados) em nenhum de seus
atributos (colunas).
importante a compreenso de que cada linha de uma tabela representa um
objeto, um assunto que descrito pelos valores de cada uma dessas colunas.
O esquema de uma relao, ou seja, a sua definio pode ser interpretada como
uma declarao, ou um tipo de afirmao.
Cada tupla (linha) da relao (tabela) deve ser interpretada como fato ou uma
ocorrncia particular dessa afirmao;
NumReg
NomeFunc
101
Luis Sampaio
DtAdmiss
o
10/08/2003
Sexo
104
Carlos Pereira
02/08/2004
134
Jos Alves
23/03/2002
121
10/05/2001
25
Marta Silveira
05/12/2002
139
12/01/2003
123
29/01/2003
148
Larissa Silva
01/06/2003
115
Roberto Fernandes
15/06/2002
22
Sergio Nogueira
10/10/2000
Fone
25658974
313314649
23868897
22415896
26935521
45458899
24968855
42899675
26858132
25943122
CodDep
to
D5
D6
D1
D5
D5
D6
D3
D6
D5
D4
3.3- DOMNIO
Representa o conjunto de valores atmicos admissveis de um componente
(coluna) de uma relao (tabela).
Exemplo
Pgina 19 de 37
______________________________________________________Modelagem de Dados 1
A cada domnio est associado um tipo de dados ou formato.
Exemplo
NomeFunc
101
Luis Sampaio
DtAdmiss
o
10/08/2003
Sexo
104
Carlos Pereira
02/08/2004
134
Jos Alves
23/03/2002
121
10/05/2001
25
Marta Silveira
05/12/2002
139
12/01/2003
123
29/01/2003
148
Larissa Silva
01/06/2003
115
Roberto Fernandes
15/06/2002
22
Sergio Nogueira
10/10/2000
Fone
25658974
313314649
23868897
22415896
26935521
45458899
24968855
42899675
26858132
25943122
CodDep
to
D5
D6
D1
D5
D5
D6
D3
D6
D5
D4
Pgina 20 de 37
______________________________________________________Modelagem de Dados 1
Analisando a referida tabela, podemos ver que existe somente um valor de
matrcula para cada linha, que no se repete, logo podemos determinar que matrcula a
chave primria da tabela funcionrios.
Atributos cujos valores no mundo real podem ser duplicados no devem ser
definidos como chaves primrias de uma tabela (Nome, por exemplo).
Em geral, uma tabela pode ter mais de uma chave que possua a capacidade de
identificao nica das linhas da tabela. Nesse caso, cada uma dessas chaves da tabela
chamada de CHAVE CANDIDATA.
Uma das chaves ser definida como primria e as outras ficam como chaves
alternativas chave primria.
Em geral, entre todas as chaves candidatas, escolhe-se para chave primria
aquela com o menor nmero de atributos ou mais significativa conceitualmente na
identificao de cada fato ou ocorrncia (linha) de uma tabela.
Esquema de uma Tabela
Pgina 21 de 37
______________________________________________________Modelagem de Dados 1
Estoque de Alimentos
Alimento
Quantida
de
Feijo
2
Leite
3
Acar
5
Arroz
3
Azeite
2
Caf
1
Data
Validade
20/08/2004
12/07/2004
12/08/2004
10/10/2004
12/03/2004
12/12/2004
Fabrican
te
2
4
1
6
5
3
Fornecedores
Fabrica
NomeFab
nte
2
Coral
4
CCPL
1
Unio
6
Tio Joo
5
Galo
3
Pilo
Unidades de Armazenamento
Unidad
Descrio
e
Pgina 22 de 37
Unidad
e
1
2
1
1
6
1
______________________________________________________Modelagem de Dados 1
1
2
3
4
5
6
Kg
Litro
Pea
Envelope
Pote 500g
Vidro 500g
______________________________________________________Modelagem de Dados 1
Quando colocamos uma coluna como chave estrangeira em uma tabela,
assumimos responsabilidade com o banco de dados por assim dizer.
As colunas pertencentes chave estrangeira da tabela A devem ter o mesmo
domnio das colunas pertencentes chave primria da tabela B.
O valor de uma chave estrangeira em uma tabela A deve ser um valor de chave
primria da tabela B, ou ento ser nulo.
Sintetizando:
chave s pode ser:
Nulo neste caso pode, pois representa a inexistncia de referncia para uma
linha da tabela.
Igual ao valor de alguma chave primria na tabela referenciada.
Como seria ter uma tabela com chave estrangeira nula? Vejamos:
NumReg
101
104
134
121
123
115
22
NomeFunc
Luis Sampaio
Carlos Pereira
Jos Alves
Luiz Paulo Souza
Pedro Sergio Doto
Roberto Fernandes
Sergio Nogueira
DtAdmiss
o
10/08/2003
02/08/2004
23/03/2002
10/05/2001
29/01/2003
15/06/2002
10/10/2000
Sexo
M
M
M
M
M
M
M
CdCargo
C3
C4
C5
C3
C1
C3
C2
CodDep
to
D5
D6
D1
D5
Nulo
D5
D4
Na linha DE Pedro Sergio Doto o valor para CodDepto est nulo, o que pode
significar que ele ainda no est alocado a nenhum departamento, ou foi deslocado de
algum departamento.
O que importa que ele no tem departamento assinalado, o que uma situao
vlida.
O que no pode haver um valor de chave estrangeira que no exista como
chave primria de nenhuma linha da tabela referenciada, no caso a tabela Departamento.
Na definio de uma chave estrangeira somente podemos nos referenciar a uma
chave primria de uma outra tabela? Nem sempre isso verdade.
Na criao de uma tabela estrangeira, alm de podemos nos referenciar a um
campo chave primria de outra tabela, tambm podemos nos referenciar a uma coluna
que tenha sido definida como nica, uma chave candidata.
Qual a razo da integridade referencial? O que ela implica?
Existe um conjunto de regras de operao para um banco de dados que coloca
restries, regras de atualizao das tabelas do banco de dados, de forma a garantir e
manter a integridade referencial. So elas:
Regra
Deleo Restrita
Definio
Ao excluir (deletar) a tabela pai , se ela possuir filhos
relacionados (ou seja, se o departamento tiver funcionrios),
a excluso impedida.
Isso evita que o bando de dados
fique inconsistente, ou seja, linhas de Funcionrio com valor
de chave estrangeira inexistente como chave primria na
tabela associada. Outras opes para garantir a integridade
Pgina 24 de 37
______________________________________________________Modelagem de Dados 1
Atualizao
Restrita
Linha
Exemplo
Vamos fazer uma simulao de tabelas. Suponha que nossa tabela tenha somente os
funcionrios do departamento de vendas (D5).
Funcionrio
NumReg
101
104
134
121
123
115
22
NomeFunc
Luis Sampaio
Carlos Pereira
Jos Alves
Luiz Paulo Souza
Pedro Sergio Doto
Roberto Fernandes
Sergio Nogueira
Departamento
CodDep NumDepto
to
D1
Assist.
Tcnica
D2
Estoque
D3
Administra
o
D4
Segurana
D5
Vendas
D6
Cobrana
DtAdmiss
o
10/08/2003
02/08/2004
23/03/2002
10/05/2001
29/01/2003
15/06/2002
10/10/2000
Sexo
M
M
M
M
M
M
M
CdCargo
C3
C4
C5
C3
Nulo
C3
C2
CodDep
to
D5
D6
D1
D5
D3
D5
D4
RamalT
el
2246
2589
2772
1810
2599
2688
NomeFunc
DtAdmiss
o
Sexo
CdCargo
CodDep
to
Vazia, completamente sem linhas. A regra de cascata provoca que todas as linhas
de tabelas associadas a essa chave primria sejam deletadas, apagadas para evitar que
fiquem existindo no banco de dados referncias s linhas inexistentes em uma tabela.
Pgina 25 de 37
______________________________________________________Modelagem de Dados 1
Mas no somente o caso de deleo completa da tabela que preocupa, pois
trabalhamos com nossa tabela original de funcionrios:
NumReg
101
104
134
121
123
115
22
NomeFunc
Luis Sampaio
Carlos Pereira
Jos Alves
Luiz Paulo Souza
Pedro Sergio Doto
Roberto Fernandes
Sergio Nogueira
DtAdmiss
o
10/08/2003
02/08/2004
23/03/2002
10/05/2001
29/01/2003
15/06/2002
10/10/2000
Sexo
M
M
M
M
M
M
M
CdCargo
C3
C4
C5
C3
Nulo
C3
C2
CodDep
to
D5
D6
D1
D5
D3
D5
D4
NomeFunc
Carlos Pereira
Jos Alves
Pedro Sergio Doto
Sergio Nogueira
DtAdmiss
o
02/08/2004
23/03/2002
29/01/2003
10/10/2000
Sexo
M
M
M
M
CdCargo
C4
C5
Nulo
C2
CodDep
to
D6
D1
D3
D4
CAPITULO IV
ABORDAGEM ENTIDADE-RELACIONAMENTO
A tcnica de modelagem de dados mais difundida e utilizada a abordagem
entidade-relacionamento (ER).
Nesta tcnica, o modelo de dados representado
graficamente atravs de um diagrama de entidade-relacionamento (DER). A abordagem
ER foi criada por Peter Chen em 1976, podendo se considerada como um padro de fato
para a modelagem conceitual. Mesmo as tcnicas de modelagem orientada a objetos,
Pgina 26 de 37
______________________________________________________Modelagem de Dados 1
que tm surgido nos ltimos anos, como a UML, baseiam-se nos conceitos da abordagem
ER.
4.1- ENTIDADE
O conceito fundamental da abordagem ER o conceito de entidade.
ENTIDADE
=
Conjunto de objetos da realidade modelada sobre
os quais deseja-se manter informaes no banco
de dados.
Uma entidade representa um conjunto de objetos da realidade modelada. Como o
objetivo de um modelo ER modelar de forma abstrata um banco de dados, interessamnos os objetos sobre os quais deseja-se manter informaes.
A entidade pode
representar objetos concretos da realidade (uma pessoa, um automvel, etc) quanto
objetos abstratos (um departamento, um endereo, etc).
Em um DER, uma entidade representada atravs de um retngulo que contm o
nome da entidade. Alguns exemplos so mostrados abaixo:
Pessoa
Departamen
to
4.2- RELACIONAMENTO
4.2.1- CONCEITUAO
Uma das propriedades sobre as quais pode ser desejvel informaes a
associao entre objetos. Exemplificando, pode ser desejvel saber quais pessoas esto
associadas a quais departamentos em uma organizao. A propriedade de entidade que
especfica as associaes entre objetos o relacionamento.
RELACIONAMENTO
=
Conjunto de associaes
entre
Pgina 27
de 37ocorrncias de
entidades
______________________________________________________Modelagem de Dados 1
Departamento
Lotao
Pessoa
Da mesma forma que fizemos com entidades, quando quisermos nos referir a
ocorrncias ou instncias de relacionamentos. No caso do relacionamento LOTAO,
uma ocorrncia da entidade PESSOA e por uma determinada ocorrncia da entidade
DEPARTAMENTO.
No necessariamente um relacionamento associa entidades diferentes.
O
exemplo abaixo mostra um DER que contm, um auto-relacionamento, devido a isto,
necessrio um conceito adicional, o de papel da entidade no relacionamento.
PAPEL DA ENTIDADE EM RELACIONAMENTO
=
Funo que uma instncia da entidade cumpre dentro de uma
instncia do relacionamento
Pessoa
marido
esposa
Casamento
______________________________________________________Modelagem de Dados 1
Para fins de projeto de banco de dados, uma propriedade importante de um
relacionamento a quantas ocorrncias de uma entidade podem estar associadas a uma
determinada ocorrncia atravs do relacionamento. Esta propriedade chamada de
cardinalidade de uma entidade em um relacionamento. H duas cardinalidades a
considerar: a cardinalidade mxima e a cardinalidade mnima.
120
Lotao
Pessoa
______________________________________________________Modelagem de Dados 1
Departamento
Lotao
Pessoa
Pessoa
marido
esposa
1
Casamento
1
Empregado
1
Alocao
n
Aluno
1
Inscrio
1
Empregado
Mesa
Curso
n
Inscrio
Pgina 30 de 37
Dependente
______________________________________________________Modelagem de Dados 1
Empregado
supervisor
supervisionado
n
Supervisiona
Engenheiro
Alocao
Projeto
Mdico
Consulta
Paciente
Pea
Capacidade
Fornecedor
Produto
componente
n
composto
n
Composio
______________________________________________________Modelagem de Dados 1
A cardinalidade mnima anotada no diagrama junto a cardinalidade mxima,
conforme o exemplo abaixo. Nesta figura, aparece novamente o exemplo da alocao de
empregados a mesas. Aqui, a cardinalidade mnima usada para especificar que cada
empregado deve ter a ele alocada obrigatoriamente uma mesa (cardinalidade mnima 1)
e que uma mesa pode existir sem que a ela esteja alocado um empregado (cardinalidade
0).
(0,1)
(1,1)
Empregado
Alocao
Mesa
4.4- ATRIBUTO
O modelo ER permite a especificao de propriedades de entidades. Uma
propriedade participar de um relacionamento. Outra propriedade ter um atributo. O
conceito de atributo serve para associar informaes a ocorrncias de entidades ou de
relacionamentos.
ATRIBUTO
=
Dado que associado a cada ocorrncia de uma
entidade ou de um relacionamento
Atributos so representados graficamente conforme o exemplo abaixo. A figura
expressa que cada ocorrncia de PROJETO tem associado exatamente um nome, um
cdigo e um tipo.
nome
Projeto
cdigo
tipo
cdigo
telefone(0,n)
No caso de a cardinalidade ser (1,1), ela pode ser omitida do diagrama. Assim, o
exemplo acima expressa que nome e cdigo so atributos obrigatrios (cardinalidade
mnima 1 cada entidade possui no mnimo um valor associado) e monovalorados
Pgina 32 de 37
______________________________________________________Modelagem de Dados 1
(cardinalidade mxima 1 cada entidade possui no mximo um valor associado). J o
atributo telefone, um atributo opcional (cardinalidade mnima 0) e multivalorado
(cardinalidade mxima n).
Assim como entidades tambm relacionamentos podem possuir atributos. O
exemplo abaixo, mostra um DER no qual um relacionamento, ATUAO, possui um
atributo, a funo que um engenheiro exerce dentro de um projeto.
(0,n)
Engenheiro
(0,n)
Atuao
cdigo
Projeto
ttulo
funo
nome
cdigo
(0,n)
Financiamento
Venda
taxa de juros
Pgina 33 de 37
______________________________________________________Modelagem de Dados 1
Pessoa
cdigo
endereo
nmero do corredor
Pessoa
nmero da prateleira
capacidade
(0,n)
Empregado
Dependente
Nesse caso, alguns autores dizem que a entidade DEPENDENTE uma entidade
fraca. O termo fraca deriva do fato de a entidade somente existir quando relacionada a
outra entidade e de usar, como parte de seu indicador, entidades relacionadas.
Outro exemplo de relacionamento identificador apresentado no exemplo abaixo,
que contm um fragmento de um DER sobre empresas. No exemplo, representada a
diviso de grupos de empresas em empresas e de empresas em filiais de empresas. Para
identificar um grupo de empresas usando um cdigo. J uma empresa identificada
pelo grupo ao qual est relacionada e por um nmero da empresa dentro do grupo.
Finalmente, uma filial identificada pela empresa a qual est vinculada e por um nmero
de filial dentro da empresa.
Pgina 34 de 37
______________________________________________________Modelagem de Dados 1
Grupo
cdigo
(1,1)
(0,n)
(1,1)
(0,n)
Empresa
Filial
cdigo-empresa
O identificador de uma entidade, seja ele simples, composto por diversos atributos
ou composto por identificadores externos, deve obedecer a duas propriedades:
nome
Pessoa
cdigo
endereo
Para fins de projeto de bando de dados relacional, cada entidade deve possuir um
nico identificador. Em alguns casos, diferentes conjuntos de atributos podem
servir para distinguir as ocorrncias da entidade.
Exemplificando, a entidade
EMPREGADO no exemplo abaixo poderia possuir como identificador tanto o
atributo cdigo, quanto o atributo CPF. Cabe ao modelador decidir qual dos dois
atributos ser usado como identificador na entidade.
nome
Pessoa
cdigo
CPF
______________________________________________________Modelagem de Dados 1
n
Engenheiro
n
Alocao
Projeto
n
Consulta
Paciente
data/hora
BIBLIOGRAFIA
Pgina 36 de 37
______________________________________________________Modelagem de Dados 1
Pgina 37 de 37