Sie sind auf Seite 1von 32

1

NDICE ANALTICO
CONCEITOS DE BANCO DE DADOS .............................................................................. 3
PROPRIEDADES DE UM BANCO DE DADOS ................................................................. 4
SISTEMA GERENCIADOR DE BANCO DE DADOS SGBD ........................................................ 4
ABSTRAO DE DADOS ................................................................................................. 5
LINGUAGENS DOS SGBDS ............................................................................................. 5
LINGUAGENS DE DEFINIO DE DADOS (DDL) ................................................................... 6
LINGUAGEM DE MANIPULAO DE DADOS (DML) ............................................................... 6
ABORDAGEM BD VERSUS PROCESSAMENTO TRADICIONAL DE ARQUIVOS......... 7
USURIOS DE BANCO DE DADOS ............................................................................... 32
ADMINISTRADOR DE BANCO DE DADOS (DBA) ................................................................... 7
PROJETISTA DE BANCO DE DADOS (DBD) .......................................................................... 8
USURIOS FINAIS ............................................................................................................. 8
VANTAGENS DA ABORDAGEM DE BANCO DE DADOS ................................................ 8
CONTROLE DE REDUNDNCIA .................................................................................. 8
COMPARTILHAMENTO DE DADOS ............................................................................. 8
RESTRIES DE ACESSO NO AUTORIZADO .............................................................. 8
RESTRIES DE INTEGRIDADE ................................................................................. 8
MANUTENO DE BACKUP E RECUPERAO ............................................................ 9
PADRONIZAO ...................................................................................................... 9
FLEXIBILIDADE ........................................................................................................ 9
DISPONIBILIDADES DE INFORMAES ATUALIZADAS .................................................. 9
MODELAGEM DE DADOS .............................................................................................. 13
CONCEITOS ................................................................................................................... 13
TIPOS DE ENTIDADES ..................................................................................................... 13
ENTIDADE FRACA ........................................................................................................... 13
CHAVE PRIMRIA ........................................................................................................... 14
CHAVE CANDIDATA ......................................................................................................... 15
CHAVE CONCATENADA ................................................................................................... 15
CHAVE ESTRANGEIRA ..................................................................................................... 15
REPRESENTAES GRFICAS ................................................................................... 15
RELACIONAMENTOS ..................................................................................................... 16
CARDINALIDADE ................................................................................................................ 16
MAPEAMENTO DO MER PARA O MODELO DE DADOS RELACIONAL ....................... 20
PRIMEIRO PASSO .......................................................................................................... 21
SEGUNDO PASSO: ............................................................................................................. 22
TERCEIRO PASSO .............................................................................................................. 23
QUARTO PASSO ................................................................................................................ 24
QUINTO PASSO ................................................................................................................. 25
[Digite texto]

SEXTO PASSO ................................................................................................................... 26


EXERCCIOS DE MAPEAMENTO................................................................................... 27
NORMALIZAO ............................................................................................................ 29
1 FORMA NORMAL ............................................................................................... 29
2 FORMA NORMAL ............................................................................................... 30
3 FORMA NORMAL ............................................................................................... 31
BIBLIOGRAFIA ................................................................................................................ 32

[Digite texto]

Introduo
Em uma grande organizao, um sistema de Banco de Dados apenas uma parte de um
grande sistema de informao que utilizado para gerenciar os recursos de informao
da organizao. Um sistema de informao inclui todos os recursos da organizao que
esto envolvidos na coleta, gerenciamento, uso e disseminao da informao. Estes
recursos incluem os dados por si s, o sistema gerenciador de Banco de Dados, o
hardware, o meio de armazenagem, as pessoas na organizao que usam e gerenciam
os dados, as aplicaes que acessam e atualizam os dados, etc.
Assim, os sistemas de Banco de Dados formam uma pequena parte de um grande
sistema organizacional.
Banco de Dados Relacionais
A idia de banco de dados Relacionais foi apresentada em 1970, por Coad Yourdon, o
qual partiu de uma viso intuitiva onde era possvel associar um conjunto de atributos de
uma entidade do mundo real, como sendo uma relao. Alm disso, Coad, props a
lgebra relacional, que seria um conjunto de operaes que iriam atuar sobre estas
relaes, cujo resultado seria sempre outra relao.
O modelo relacional mostrou-se muito til para lidar com aplicaes comerciais, tornandose a tecnologia mais difundida na rea, nas dcadas de 80 e 90.
Este modelo representa os dados armazenados em um Banco de Dados atravs de
relaes, as quais contm informaes sobre as entidades representadas e seus
respectivos relacionamentos. Utiliza o conceito de matrizes, onde as linhas seriam os
registros e as colunas seriam os campos. Tal modelo consiste em uma coleo de
tabelas, onde cada tabela possui seu respectivo nome.
Conceitos de Banco de Dados
Banco de Dados uma coleo de dados interrelacionados.
Dados so fatos que podem ser registrados e que tm um significado.

Entendendo o que dado


Exemplo:
- Telefone (011) 289-3587 com Valdir;
Ou
Telefone:
- DDD: (011)
- Fone: 289-3587
- Contato: Valdir

Importante: Dado a
menor unidade que em
si possui significncia
ao negcio

Registro ou Tupla uma coleo de dados. dividido em campos que utilizado para
identificar os valores contidos no registro. Veja a figura a seguir:
A figura abaixo representa um registro de um cliente em SGBD Relacional conceitos
relaes de campos e tuplas. Veja a figura abaixo:
[Digite texto]

Nome dos Campos

Nome

Endereo

Cep

Rua Castilho, 45

15990-000

Data Nasc

CPF
Tupla

Dorotia

10/05/80

384.150.122-9

Valores

Figura 1 Representao do SGBD Relacional

Propriedades de um Banco de Dados


Um banco de dados uma coleo lgica e coerente de dados com algum
significado com dados com algum significado em comum.
Um Banco de Dados projetado, construdo e preenchido com dados para um
propsito especfico. Existe sempre um grupo de usurios e um conjunto de
aplicaes pr estabelecidas que vo trabalhar em torno de um Banco de Dados.
Um Banco de Dados representa algum aspecto do mundo real, tambm chamado
de Mini-Mundo. Toda a mudana no mini-mundo deve ser refletida no Banco de
Dados.
Um Banco de Dados pode variar em tamanho e Complexidade.
Exemplos: Banco de Dados da Receita Federal
Banco de Dados de uma micro empresa
Esta grande quantidade de informaes deve ser bem organizada e bem
gerenciada, de modo que permita ao usurio manipular estes dados atravs de
consultas e atualizaes.
Um Banco de dados deve ser criado e mantido ou por um pacote de ferramentas
especficas ou por um sistema gerenciador de Banco de Dados.
Sistema Gerenciador de Banco de Dados SGBD
Um SGBD um pacote de ferramentas com um propsito geral que facilita os processos
de definio, construo e manipulao de Banco de Dados para qualquer aplicao.
Definio de um B.D
a especificao dos tipos de dados que sero armazenadas no B.D com uma
descrio detalhada de cada tipo de dado.
[Digite texto]

Construo de um B.D
o processo de armazenagem dos dados em algum meio de armazenamento.
Manipulao de um B.D
Aplicao de algumas funes como a consulta para a recuperao de alguns
dados especficos, atualizao para refletir mudanas no mini-mundo e a gerao
de documentos.
Abstrao de Dados
Quando um usurio utiliza um Banco de Dados, ele no faz idia da quantidade de
informaes que ele est manipulando. Isto porque, o SGBD oculta certos detalhes de
como os dados so armazenados ou mantidos, proporcionando ao usurio uma viso
abstrata dos dados. Os Bancos de Dados so freqentemente utilizados por pessoas sem
conhecimentos na rea de Banco de Dados. misso do SGBD manipular a grande
quantidade de dados complexos, sem que o usurio precise se preocupar. Para isto,
temos trs nveis de abstrao.
Nvel Fsico Nvel mais baixo de abstrao. Descreve como os dados so
armazenados. Descreve com detalhes as estruturas complexas de baixo nvel.
Nvel Conceitual Descreve quais dados so realmente armazenados no Banco de
Dados. Assim como, o relacionamento entre esses dados.
Nvel Viso Nvel mais alto da abstrao no qual se expem apenas parte do BD.
Podem existir diferentes vises para um mesmo banco de dados.

ABSTRAO
o ato de separar
mentalmente
elementos de uma totalidade
complexa

Viso 1

Viso 2

Nvel
Conceitual

Nvel
Fsico

[Digite texto]

Viso 3

Linguagens dos SGBDs


Linguagens de Definio de Dados (DDL)
Conjunto de definies que especificam um esquema de Banco de Dados.
O resultado da compilao de instruo DDL um conjunto formado por tabelas que so
armazenadas no catlogo. A estrutura de armazenamento e os mtodos de acesso
utilizados para SGBD so especificados por um conjunto de definies de uma DDL
especial, chamado Linguagem de Definio de Dados e memria. O resultado da
compilao dessas definies um conjunto de instrues que especificam os detalhes
de implementao dos esquemas de BD.
Exemplo:
Aluno
RG
Mensalidade

alfanumrico
numrico
moeda

A definio do tipo de dados, tamanho e


formatos de cada campo, consiste na
Linguagem de Definio de Dados !

50
10
-

A Linguagem de Definio de Dados (DDL) compe o Esquema do Banco de Dados !

Linguagem de Manipulao de Dados (DML)


A manipulao de Dados consiste em :
-

Consultas;
Atualizaes Insero de informaes
Remoo de informaes

Uma linguagem de manipulao de dados (DML) permite aos usurios acessar e


manipular dados organizados por um modelo de dados apropriado.
- Procedimental
- No Procedimental
A parte da DML que trata de consultas chamada de linguagem de consultas. Quando
os comandos de uma DML esto incorporados em uma linguagem de propsito geral, isto
chamada de linguagem host e a DML chamada de sub-linguagem de dados.

Cadastro de Clientes
Nome:

Jos da Silva

Endereo: Rua 9 de Julho, 500


Telefone: (16)282-8282

[Digite texto]

Instncia

A Linguagem de Manipulao de Dados (DML) compe a Instncia do Banco de Dados !


Abordagem BD versus Processamento Tradicional de Arquivos
Na abordagem tradicional, o usurio define e implementa os arquivos necessrios para
uma determinada aplicao.
Exemplo: O departamento de contabilidade pode Ter arquivos diferentes dos arquivos da
secretaria sobre o mesmo grupo de alunos.
A redundncia dos dados ocasiona em perda de espao de armazenamento e em um
esforo considervel para manter os arquivos atualizados.
Natureza de armazenamento de um Sistema de Banco de Dados
Um Banco de Dados contm no apenas os dados, mas tambm a descrio completa do
banco de dados. Esta definio contm informaes como a estrutura de cada arquivo. A
estrutura e o formato de cada item de dado e vrias restries de acesso. Estas
informaes so chamadas de Meta de Dados e so armazenados com um arquivo
chamado catlogo ou meta de banco de dados. No processamento tradicional, a
definio dos dados inerente ao programa. Deste modo, o programa se restringe a
manipular somente dados definidos no prprio programa.

Programas de Aplicao
Ferramentas do SGBD

Meta
Dados

Banco
de
Dados

Separao entre Programas e Dados


Como no processamento tradicional a definio da estrutura de dados est embutida no
programa qualquer mudana necessria na estrutura de dados implica em mudanas no
programa em um BD. A mudana s ser necessria no meta BD, pois os programas de
acesso aos dados so escritos independentemente de qualquer arquivo. Esta
independncia chamada Independncia-Dados-Programa.

Usurios de Banco de Dados


Administrador de Banco de Dados (DBA)
Um grande BD precisa de uma grande equipe trabalhando para que ele se mantenha
ntegro e coeso. Para isto, h a necessidade de uma pessoa para manter o controle
central dos dados e dos programas que acessam os dados. Esta pessoa o
Administrados de BD. O DBA responsvel pela concesso de autorizao para acesso
aos dados.
[Digite texto]

Projetista de Banco de Dados (DBD)


O DBD tem como funo principal identificar os dados a serem armazenados e definir a
estrutura apropriada para representar e armazenar estes dados para a obteno destes
dados, o DBD deve interagir com os usurios para descobrir suas necessidades e
encontrar a soluo ideal para as mesmas.
O projeto final do BD deve ser capaz de atender as necessidades de todos os grupos
de usurios do mesmo.
Usurios Finais
Usurios Ocasionais- so usurios habituados ao uso do
SGBD e que no utilizam programas, elaborando suas consultas
diretamente em linguagens de consultas.
Usurios simples so usurios que precisam dos programas de
aplicaes para interagir com o sistema.
Usurios especializados so usurios que elaboram sistemas
altamente especializados, que no se encaixam no processamento de dados
normal.

Vantagens da abordagem de Banco de Dados


Controle de Redundncia
No processamento de Dados Tradicional, cada grupo de usurios mantm seus prprios
arquivos. Isto leva ao armazenamento mltiplo dos mesmos dados, causando problemas
de espaos e inconsistncia dos dados.
Compartilhamento de Dados
Um SGBD multi-usurio deve permitir que vrios usurios possam acessar os dados ao
mesmo tempo.
O SGBD deve incluir um software de controle de concorrncia para evitar o acesso
desordenado ao BD, fazendo com que os resultados das atualizaes sejam sempre
corretos. Um SGBD multi-usurio facilita o controle de vises, pois as mesmas podem ser
especificadas para grupos de usurios.
Restries de acesso no autorizado
Um SGBD deve manter um programa de segurana e autorizao, o qual utilizado para
manter o controle das pessoas que podero acessar quais dados e de que forma.
Restries de Integridade
As aplicaes de BD possuem restries de integridade que devem ser mantidas. As
restries devem ser especificadas para DBD durante o projeto de Banco de Dados.
[Digite texto]

Manuteno de Backup e Recuperao


Um SGBD deve prover sistema de recuperao de falha de hardware ou software. O subsistema de recuperao deve assegurar que o programa seja reinicializado do ponto do
qual foi interrompido.
Padronizao
A abordagem BD permite ao DBD (Projetista de Banco de Dados) manter uma
padronizao entre os usurios de BD. Os padres podem ser definidos a nvel de
elementos de dados, telas, estruturas de documentos, etc. Torna-se muito mais fcil
manter padronizao em um sistema BD centralizado do que em um ambiente onde cada
grupo de usurio mantm controle sobre seus arquivos e softwares.
Flexibilidade
Alguns SGBDs permitem que as estruturas sejam alteradas sem que haja grandes
alteraes nos programas de aplicaes.
Disponibilidades de informaes atualizadas
Um SGBD mantm um banco de dados disponvel para todos os usurios. Deste modo,
quando um usurio atualiza um BD, todos os usurios iro perceber esta atualizao de
imediato. Esta disponibilidade de dados muito importante para diversos sistemas, como
controle de reservas, sistemas bancrios, etc, e mantida pelo sistema de concorrncia
do SGBD.
Quando no usar Banco de Dados
-

Alto investimento inicial


Necessidade de hardware adicional
BD e aplicaes simples e bem definidas
Uso somente de acesso centralizado.

Interfaces dos SGBDs


- Baseada em Menus
- Grfica
- Baseada em Formulrios
- Linguagem Natural
- Interfaces para o DBA

[Digite texto]

10

EXERCCIOS
1) Um catlogo telefnico pode ser considerado um exemplo de:
a) Banco de dados
b) Registro
c) Tupla
d) DBA
Justifique sua resposta:
2) Em uma clnica veterinria so usados 2 cartes de controle de vacinao para cada
animal vacinado, ficando um com o veterinrio que aplica as vacinas e o outro com o
atendente que controla o pagamento. Certo dia, o atendente foi ao banco enquanto o
veterinrio vacinou um animal. No ms seguinte, devido s divergncias entre as duas
fichas (a do atendente e a do veterinrio) a clnica ficou em dvida a respeito da
vacinao do animal em questo. O fato acima exemplifica um problema de:
a) Redundncia de dados
b) Inconsistncia de Dados
c) Definio de Banco de dados
d) Meta de dados
Neste caso, o que poderia ser feito para resolver este problema?
3) Em um canhoto de talo de cheques, so anotados para todo cheque emitido, data de
emisso, valor e destino do cheque. Cada um desses itens constitui:
a) Dado
b) Meta de dados
c) Banco de dados
d) Sistema gerenciador de banco de dados
4) A direo de um hospital determinou que fosse feito um cadastro de todos os doentes
e de seus acompanhantes. Neste cadastro deveria constar: nome, idade endereo e
RG de cada pessoa. Quando o modelo do cadastro ficou pronto, a secretria mostrouo ao diretor para saber se estava OK. O que a secretria mostrou ao diretor foi:
a) O esquema do banco de dados
b) A instncia do banco de dados
c) Uma tupla
d) Um registro
5) A seguir, o modelo foi preenchido com os dados dos pacientes e acompanhantes,
gerando aproximadamente 100 registros. Neste caso, o que temos :
a) O esquema do banco de dados
b) A instncia do banco de dados
c) Uma tupla
d) Um registro
6) Em seguida, a secretria verificou que alguns dados do paciente numero 54 do banco
de dados estavam errados e corrigiu-os. O que ela modificou foi:
a) Uma tupla
b) O SGBD
c) DML
d) A abstrao
[Digite texto]

11

e) A linguagem
7) Das sentenas abaixo, correto afirmar que:
Dado
a)
b)
c)
d)
e)

Tem um significado
S faz parte de uma grandes organizaes
Pode ser registrado
Vem sempre acompanhado de um SGBD
S encontrado em meios eletrnicos

8) A loja x desenvolveu uma lista para controlar seu clientes inadimplentes, logicamente,
os dados constantes nesta lista eram os nomes e registros dos maus pagadores . A
lista foi distribuda aos vendedores da loja, para que estes estivessem cientes dos
nomes constantes nela, sendo orientados que a cada inadimplente que acertasse
sua situao junto loja, tivesse seu nome marcado . Posteriormente, a idia da lista
foi copiada por uma grande loja, mas com o mesmo propsito e foram utilizadas
ferramentas informatizadas para poder excluir os nomes da lista, assim com incluir
novos nomes e consultar a lista para ver quem ainda estava nela. Estas
caractersticas descrevem:
a)
b)
c)
d)
e)

Um banco de dados
Processamento tradicional de arquivos
Abstrao de dados
Administrador de banco de dados
Compartilhamento de dados

9) Um certo sistema foi desenvolvido em uma locadora para controlar as entradas e as


sadas de seus filmes. O analista contratado definiu que cada registro do programa
teria os seguintes campos:
Nome do filme
Data de entrega
Data de devoluo

string
numrico
numrico

50
08
08

Aps montagem do esquema, o analista definiu que os dados seriam armazenados na


unidade c: (winchester) durante o expediente e toda noite seria feito o backup em fitas
Dat. Desenvolveu tambm aplicaes para incluir novos filmes (quando fossem
comprados), excluir filmes danificados e consultar quais os filmes atuais e emitir
relatrios. O exemplo acima reflete:
a)
b)
c)
d)
e)

Um SGBD
Um DBA
Um DBD
Um mini-mundo
Um registro

[Digite texto]

12

10) Denise trabalha em uma grande empresa de implementos agrcolas. Ela controla os
navios que vo para o exterior, bem como os estoques da filiais fora do Brasil. Os
dados envolvidos nestas operaes so muitos e bastante complexos. Como Denise
no entende muito de informtica, toda modificao de estrutura , permisso de
acesso e problemas eventuais do seu banco de dados so resolvidos pelos DBA e
DBD da empresa. O fato de Denise no enxergar o Banco em profundidade pode ser
chamado de:
a)
b)
c)
d)

Separao entre dados e programas


Abstrao de dados
Manipulao de dados
Meta de dados

11) Um grupo de analistas se juntou para elaborar um sistema de Folha de pagamento.


Resolveram ento se dividir em subgrupos para dividir as tarefas. O primeiro grupo
definiu a estrutura dos dados, o segundo grupo definiu quais dados seriam
armazenados no banco. Do trabalho dos dois grupos surgiu a seguinte tabela:
Nome
empregado
Salrio
INSS

do Character

50

Numrico
Numrico

10
08

O terceiro grupo preencheu os campos do banco e manipulou estes dados com


consultas, incluses, alteraes e excluses . Os nveis acima referidos so
respectivamente:
a)
b)
c)
d)

Conceitual, fsico e viso


Fsico, viso e Conceitual
Fsico, Conceitual e viso
Viso, fsico e conceitual

12) Srgio comanda uma grande equipe em uma grande organizao. ele quem
controla o acesso dos funcionrios aos dados da empresa. Ele tambm mantm o
controle central e responde por todo problema que possa haver com o banco de
dados. Marcelo, por sua vez, subordinado a Srgio, define quais dados devem
constar no banco e suas estruturas, tambm define como estes dados sero
armazenados. Marcelo e Srgio so respectivamente:
a) DBA e DBD
b) DBD e DBA
Exerccios elaborados pela prof Ndia C. de Azevedo.

[Digite texto]

13

Modelagem de Dados
Modelo Entidade Relacionamento (MER)
-

Coleta e Anlise de requisitos


Criao de um esquema conceitual
Implementao do BD usando SGBD
Projeto de BD Fsico

Conceitos
Entidade: a representao de um objeto no mundo real com existncia
interdependente. Pode ser um objeto com existncia fsica ou conceitual.

A Reserva do Avio

Existncia Fsica

Existncia Conceitual

Podemos comparar uma Entidade a um Arquivo de Dados.

A representao de uma Entidade no modelo Entidade-Relacionamento feita por um


retngulo, com o nome desta entidade em seu interior, como mostra a figura abaixo:

PESSOA

CARRO

AVIO

RESERVA
DO AVIO

Tipos de Entidades
Um BD geralmente contm grupos de entidades que so similares. Estas entidades
possuem os mesmos atributos, embora cada entidade possua os prprios valores.
Entidades similares definem um tipo entidade, o qual um conjunto de entidades que
possuem o mesmo atributo.
A descrio de um tipo entidade chamada Esquema do tipo entidade, e especifica uma
estrutura comum partilhada por entidades individuais daquele tipo. O esquema especifica
o nome do tipo entidade, o nome e o significado de cada atributo e as restries entre as
entidades.
Entidade Fraca
Alguns tipos de entidade podem no Ter algum atributo chave por si s. Isto implica que
no poderemos distinguir certas entidades, porque a combinao dos valores de seus
atributos podem ser idnticas. Estes so os tipos de Entidade Fraca.

[Digite texto]

14

Entidades pertencentes a um tipo de Entidade Fraca so identificadas inicialmente por


relacionarem-se com entidades especficas de outro tipo de entidade, em combinao
com alguns de seus valores dos atributos.
A outra entidade chamada Proprietria Identificadora e o tipo relacionamento que liga
uma entidade fraca a sua proprietria chamado Relacionamento Identificador do tipo
entidade fraca. Um tipo entidade fraca sempre tem participao total (dependncia de
existncia) em seu relacionamento identificador.
A participao total no implica que a entidade seja fraca; pois pode no ser possvel
identificar uma entidade fraca sem sua entidade proprietria.
Um tipo entidade fraca tem uma chave parcial, a qual um conjunto de atributos que
identificam unicamente entidades fracas relacionadas mesma entidade proprietria. Um
tipo entidade fraca pode ser substitudo por atributos compostos multivalorados.
Critrios para escolha: Se o tipo entidade possui muitos atributos ou se participa em outro
relacionamento alm do tipo relacionamento identificador, geralmente escolhe-se o tipo
entidade fraca atributos.
Dependente

Empregado
CdigoDoEmpregado
NomeDoEmpregado
FunoDoEmpregado
SalrioDoEmpregado

Possui

CdigoDoDependente
CdigoDoEmpregado
NomeDoDependente
ParentescoDoDependente

Atributos:
So propriedades particulares que descrevem uma determinada entidade. Uma entidade,
em particular, ir Ter valores prprios em seus atributos.
Atributo Composto: um atributo formado por vrios atributos que no pode ser
dividido, chamado de atmico ou simples.
Atributo Simplesmente Valorado: um atributo que assume um nico valor para uma
determinada entidade.
Atributo Multi-Valorado: um atributo que pode assumir diversos valores para uma
determinada entidade.
Atributo Derivado: um atributo pode ser chamado de derivado quando seu valor
determinado a partir de um ou mais atributos. Estes atributos mantm uma relao.
Chave Primria
Uma chave primria um atributo que possui um valor nico para cada entidade
individual. Esta uma restrio que probe que duas entidades possuam o mesmo valor
para um determinado atributo ao mesmo tempo. Alguns tipos de entidades podem Ter
mais que um atributo formando uma chave ou mais que um atributo chave.

[Digite texto]

15

Chave Candidata
Uma tabela pode possuir alternativas de identificador nico, ou seja, vrias colunas ou
concatenaes diferentes de colunas podem ter esta propriedade. Estes identificadores
so candidatos chave primria, como um e somente um ser escolhido como chave
primria, o restante passa a ser considerado como chave alternativa, por isso candidata.
Chave Concatenada
Se diz que uma chave concatenada (ou composta) quando apresentar vrios atributos
individuais agrupados na formao da chave primria. Por exemplo: A chave primria da
entidade [Dependente] composta pelos atributos [Cdigo do Empregado] e [Cdigo do
Dependente], sendo, portanto, uma chave concatenada.
Chave Estrangeira
Quando uma entidade apresenta um atributo importado de outra entidade, esse atributo
denominado de chave estrangeira. Chaves estrangeiras so o resultado de associaes
entre entidades atravs de relacionamentos 1:1 1:N (um para vrios).
No exemplo a seguir, o atributo [NmeroDoDepartamento] chave estrangeira na
entidade Funcionrio importada da entidade Departamento.
Departamento
NumeroDoDepartamento
NomeDoDepartamento
LocalizacaoDoDepto

Funcionrio
trabal
ha

Representaes Grficas

Tipo
Entidade

Tipo
Relacio
namento

[Digite texto]

Matrcula DoFuncionrio
NomeDoFuncionrio
EndereoDoFuncionrio
NmeroDoDepartamento

Chave Estrangeira

Tipo
Entidade
Fraca

Tipo
Relacioname
nto
Identificador

16

Atributo
simplesmente
valorado

Atributo
MultiValorado

Atributo
Derivado

Atributo
Chave

Atributo
Composto

Relacionamentos
No mundo real uma entidade raramente apresenta-se isolada, tendo existncia
completamente independente de quaisquer outras. Geralmente ocorre o contrrio:
detectada a existncia de uma associao entre as ocorrncias de duas entidades
distintas. A essa conexo lgica entre duas ou mais entidades damos o nome de
relacionamento.
Um bom exemplo de relacionamento seria aquele existente entre Funcionrio e
Departamento: uma ocorrncia da entidade Funcionrio dever sempre estar associada a
uma ocorrncia da entidade Departamento.
Poderamos inclusive nomear de Pertence a associao entre essas duas entidades,
visto que um funcionrio sempre pertence a um departamento.
Um relacionamento possui sempre algumas caractersticas bsicas, uma das quais a
Cardinalidade.
Cardinalidade
Cardinalidade de um relacionamento consiste na especificao do sentido da associao
existente entre as entidades envolvidas. Por exemplo, um funcionrio pertence sempre a
no mnimo um e no mximo um departamento, ou seja, obrigatrio que exista, uma
ocorrncia especfica da entidade Funcionrio, to somente uma ocorrncia da entidade
Departamento associativa. Por outro lado, para um determinado departamento possvel
que existam vrios funcionrios relacionados: mais de uma ocorrncia da entidade
Funcionrios refere-se mesma ocorrncia da entidade Departamento. Dizemos nesse
caso que a cardinalidade do relacionamento Pertence de 1:N (um para ene ou um
para muitos ).
No modelo entidade Relacionamento (Modelo E-R ou MER) de Peter Chen as entidades
so representadas por um retngulo com seu nome no interior e os relacionamentos so
representados por losangos e com um verbo, o que explicita o relacionamento como um
objeto de associao. O que importante entendermos o que so entidades
inicialmente e num segundo instante as formas possveis destas entidades se
relacionarem. A cardinalidade dos relacionamentos ser explicitada diretamente atravs
da insero dos smbolos 1 e N para representar uma ou mais ocorrncias
respectivamente.
[Digite texto]

17

Modelo E-R Peter Chen


Relacionamento
N

Funcionrio

Perten

Departamento

Explicitado

Figura 1 Entidades e Relacionamentos no MER cardinalidade 1: N


Os relacionamentos de cardinalidade 1:N so clssicos, pois representam a maioria das
situao encontradas no desenvolvimento de sistemas comerciais. Contudo, existem
tambm relacionamentos que representam outras cardinalidades.
Relacionamento 1:N
Funcionrio
Joo
Pedro
Paulo
Maria
Carmem

Pertence
R1
R2
R3
R4
R5

Departamento
Recursos Humanos
Financeiro
Compras

O primeiro deles o relacionamento 1:1 (um para um). Um exemplo seria aquele que
existe entre Gerente e Departamento, onde um gerente pode responder por apenas um
departamento e um departamento s pode ser gerenciado por um nico gerente.

Gerente

1
gerenc

Departamento

Figura 2- Relacionamento 1:1


Apesar de existirem no mundo rela situaes que surgem cardinalidades 1:1, devemos
sempre desconfiar de tais relacionamentos questionando-nos se na realidade as duas
entidades envolvidas no so uma s. Uma forma de analisar essa possibilidade consiste
em verificar se o principal identificador da primeira entidade diferente do principal
identificador da Segunda entidade. Caso no o sejam, muito provavelmente estamos
interpretando dois aspectos de uma mesma entidade como sendo entidades distintas.

[Digite texto]

18

Relacionamento 1:1
Gerente

Gerencia

Joaquim
Manoel
Eduardo

R1
R2
R3

Departamento
Recursos Humanos
Financeiro
Compras

Existem tambm os relacionamentos N:M ou N:N (muitos para muitos). So aqueles em


que uma ocorrncia da entidade A pode ter ligao com mais de uma ocorrncia da
entidade B e vice versa.
Um exemplo de relacionamento N:M ocorre entre as entidades Ator e Filme, onde um ator
pode atuar em mais de um filme e um filme pode Ter mais de um ator.

Relacionamento N:M

M
atua

Ator

Filme

Figura 3 Relacionamento N:M


Ator

Atua

Tarcsio Meira
Regina Duarte
Francisco Cuoco

R1
R2
R3

Filme
O Impaciente Ingls
Velocidade Mnima
E a Chuva Lavou

Exerccios de Modelagem de Dados

Monte o Modelo Entidade Relacionamento (MER), a partir do enunciado abaixo:

1) Uma biblioteca deseja informatizar os Cadastros de seus livros. Para isso nos passou
as seguintes informaes:
Os livros so definidos pelo nmero do ISBN, Ttulo, Nmero de Pginas e Preo. Um
livro pode ser escrito por vrios autores, sendo os autores definidos pelo Nmero do
autor, Nome e Sobrenome. As Editoras so definidas pelo Cdigo da editora, Nome,
Endereo, telefone e E-Mail. Um livro pode conter vrios assuntos, sendo que vrios livros
podem falar sobre o mesmo assunto. Os dados que devemos registrar para o assunto
so: Cdigo do assunto e a descrio. Alguns livros podem Ter vrias Cpias cadastradas
na biblioteca, sendo estas cpias definidas pelo nmero da Cpia e Data de Aquisio
[Digite texto]

19

desta cpia. claro, que s podemos Ter a cpia de algum livro na biblioteca se existir o
livro , caso contrrio, no permitido.

2) Uma empresa deseja manter controle dos projetos desenvolvidos por seus
departamentos. Temos as seguintes informaes:
Cada departamento responsvel por um nico projeto em desenvolvimento, sendo que
em cada projeto pode ter mais de um departamento responsvel pelo seu
desenvolvimento. Estes projetos desenvolvem peas para motores hidrulicos. Um
projeto envolve vrias peas e estas peas esto envolvidas em vrios projetos. Para
cada departamento h um gerente responsvel, sendo que cada departamento possui um
nico gerente. Para os funcionrios que trabalham nos departamentos da empresa
deseja-se manter um cadastro de seus responsveis.
Departamentos: Nmero do departamento, Nome e Local.
Projetos: Cdigo do Projeto, Descrio e Durao
Peas: Nmero da Pea e Descrio
Gerente e Funcionrios: Matrcula, Nome e Cargo
Responsveis: Nome e Parentesco
3) Deseja-se criar um banco de dados para uma agncia de turismo, contendo as
informaes sobre os recursos oferecidos por algumas cidades:
Cada cidade possui hotis, restaurantes e casas de show. Deseja-se armazenar os dados
dos shows tpicos de cada casa de show e os cardpios principais de cada restaurante da
cidade. Para cada hotel existe uma pessoa responsvel com quem a agncia de turismo
deve manter contato (para cada hotel existe uma nica pessoa que cuida da hospedagem
desta agncia de turismo e cada pessoa responsvel por um nico hotel). Os cardpios
somente devem ser cadastrados se forem realmente utilizados pelos restaurantes.
Cidade: Cep, nome, estado
Hotel: Cnpj, nome, categoria, endereo(rua,nr,bairro), quantidade de apartamentos,
telefone
Casa de Show: Cnpj, dias de funcionamento, horrio, nome, endereo, telefone
Restaurante: Cnpj, nome, categoria, telefone, endereo
Cardpio: Cdigo, nome, descrio(caf da manh, almoo e jantar)
Responsvel pela agencia de turismo: Cpf., nome, telefone(celular e comercial)

4) Uma imobiliria deseja manter controle condomnios pelo quais so responsveis.


Temos as seguintes informaes:
Um condomnio formado por diversos apartamentos. Cada apartamento possui uma
nica garagem. Existem os sndicos dois responsveis por cada condomnio. Deseja-se
manter os dados dos proprietrios de cada apartamento (um apartamento pode ser de
propriedade de mais de uma pessoa). Pode haver casos de um proprietrio possuir mais
de um apartamento. A imobiliria deve tambm manter o cadastro dos herdeiros de cada
proprietrio.
Condomnio: Cdigo, Nome e Endereo.
[Digite texto]

20

Apartamento: Nmero, Tipo


Proprietrio: RG, Nome, Telefone, E-Mail
Herdeiro: RG, Nome, Telefone
Garagem: Nmero, Tipo
Sndico: Matrcula, Nome, Endereo, Telefone
Mapeamento do MER para o Modelo de Dados Relacional
comum, em projetos de banco de dados, realizar a modelagem dos dados atravs de
um modelo de dados de alto-nvel. O produto gerado por esse processo so os esquemas
de vises que so posteriormente integradas para formar um nico esquema. O modelo
de dados de alto-nvel normalmente adotado o Modelo Entidade Relacionamento
(MER) e o esquema das vises e de toda a base de dados so especificadas em
diagrama entidade-relacionamento (DER).
O passo seguinte modelagem dos dados o mapeamento do diagrama da base de
dados global, obtido na fase anterior, para um modelo de dados de implementao.
Existem trs tipos de modelos de dados de implementao: hierrquico, rede e relacional.
Para cada um desses modelos, pode-se definir estratgias de traduo a partir de um
DER especfico. A estratgia de traduo, ou de mapeamento, tratado nesta apostila
para o modelo de dados relacional.
Uma vez que consegue-se representar a semntica de uma aplicao atravs de modelos
de dados, em especial pelo Modelo Entidade Relacionamento, importante garantir que
as informaes contidas neste modelo sejam representadas corretamente no Modelo
Relacional.
Para garantir uma representao fiel das informaes no Modelo Relacional preciso
seguir algumas diretrizes, com objetivo de restringir as opes dos desenvolvedores em
um conjunto efetivo de regras.
Este documento prope a modelagem de uma Empresa, e descreve os passos propostos
por [Elmasri & Navathe 1994] para o mapeamento do esquema Entidade Relacionamento
para o Modelo Relacional.
Vamos estudar os seis passos do mapeamento:

[Digite texto]

21

Primeiro Passo

Mapear Conjuntos de Entidades Regulares


Identificar todas as entidades regulares (no fracas) e seus atributos

Primeiro Passo:
Funcionrio = {FNmero, FNome, Endereo, Salrio}
Departamento = {DNmero, DNome}
Projeto = {PNmero, PNome}

OBSERVAES:
1) O atributo "Localizao" no foi representado na relao "Departamento" pois um
atributo multi-valorado e ser tratado no passo 6.
2) O conjunto de entidade "Dependente", um conjunto de entidade fraco e ser tratado
no seguinte, o passo 2.
[Digite texto]

22

Segundo Passo:

Mapear Conjuntos de Entidades Fracas


Relacionar todos os atributos da entidade fraca, acrescentando tambm o atributo chave
da entidade da qual ela depende.
Veja que o atributo da entidade Funcionrio (FNumero), vai para a entidade
Dependentes como um atributo chave !
importante notar que um conjunto de entidade fraca s pode ser mapeado quando os
demais conjuntos de entidades envolvidos no conjunto de relacionamento total, que torna
esse
conjunto
de
entidade
fraca,
j
estiverem
mapeados.

Primeiro Passo:
Funcionrio = {FNmero, FNome, Endereo, Salrio}
Departamento = {DNmero, DNome}
[Digite texto]

23

Projeto = {PNmero, Pnome}


Segundo Passo:
Dependente = {DependNome, FNmero, DataNiver, Parentesco}

Terceiro Passo

Mapear Conjuntos de Relacionamentos Binrios 1:1


No 3 passo, escolha uma entidade para receber o atributo chave da outra entidade
relacionada.
Note que o atributo chave de uma entidade vai para a outra como um atributo simples !
No exemplo, Fnumero (nmero do funcionrio) foi para a entidade departamento como
um atributo simples e no como chave !

Primeiro Passo:
Funcionrio = {FNmero, FNome, Endereo, Salrio}
Departamento = {DNmero, Dnome, FNmero, DataIni}
Projeto = {PNmero, Pnome}
Segundo Passo:
Dependente = {DependNome, FNmero, DataNiver, Parentesco}

[Digite texto]

24

Terceiro Passo:
Os atributos FNmero e DataIni so adicionados relao "Departamento", definida
no primeiro passo. Note que o atributo Fnmero adicionado como um atributo no
chave na relao "Departamento".
DataIni foi adicionada porque um atributo do relacionamento gerenciar !
Quarto Passo
Mapear Conjuntos de Relacionamento Binrio Regular 1:N
No 4 passo, deve-se acrescentar entidade de lado N, o atributo chave da entidade de
lado 1.
Note que o atributo chave do lado 1vai para a entidade de lado N, como um atributo
simples. Veja no exemplo.

Primeiro Passo:
Funcionrio = {FNmero, FNome, Endereo, Salrio, SuperNmero, DNum}
Departamento = {DNmero, Dnome, FNmero, DataIni}
Projeto = {PNmero, Pnome, DNro}
Segundo Passo:
Dependente = {DependNome, FNmero, DataNiver, Parentesco}
Quarto Passo:

Neste passo so mapeados os relacionamentos: supervisionar, trabalhar e


controlar.
Avaliando o relacionamento supervisionar, nota-se que este relacionamento
no possui atributos, logo, apenas o atributo SuperNmero foi adicionado a
relao "Funcionrio", definida no primeiro passo.

[Digite texto]

25

O mesmo acontece com o relacionamento trabalhar; apenas o atributo DNum


foi adicionado a relao "Funcionrio".
No relacionamento controlar, que tambm no possui atributos, foi
adicionado o atributo DNro na relao Projeto que j havia sido definida no
primeiro passo.

Quinto Passo
Mapear Relacionamento Binrio M:N
Para cada relacionamento binrio M:N cria-se uma nova relao. Os atributos da relao
so os atributos do conjunto de relacionamento juntamente com os atributos chave das
relaes que mapeiam os conjuntos de entidades envolvidos. A chave da relao a
concatenao dos atributos chave das relaes que mapeiam os conjuntos de entidades
envolvidos.

Primeiro Passo:
Funcionrio = {FNmero, FNome, Endereo, Salrio, SuperNmero, DNum}
Departamento = {DNmero, Dnome, FNmero, DataIni}
Projeto = {PNmero, Pnome, DNro}
Segundo Passo:
Dependente = {DependNome, FNmero, DataNiver, Parentesco}

[Digite texto]

26

Quinto Passo:
O relacionamento participar que envolve os
"Funcionrio" e "Projeto", avaliado neste passo.

conjuntos

de

entidades

Cria-se uma nova relao:


Participar = {FNum, PNum, horas}
Sexto Passo
Mapear Atributos Multi-valorados
No 6 passo, identificamos os atributos multivalorados. Para este atributo, deve-se criar
uma nova entidade, inserindo o atributo multivalorado e o atributo chave da entidade da
qual ele pertence. Ambos os atributos devem ser chaves primrias, compondo uma chave
concatenada.

Primeiro Passo:
Funcionrio = {FNmero, FNome, Endereo, Salrio, SuperNmero, DNum}
Departamento = {DNmero, Dnome, FNmero, DataIni}
Projeto = {PNmero, Pnome, DNro}
Segundo Passo:
Dependente = {DependNome, FNmero, DataNiver, Parentesco}
Quinto Passo:
Participar = {FNum, PNum, horas}
[Digite texto]

27

Sexto Passo:
LocalDep = {DNmero, Localizao}
OBSERVAO: Nesta apostila no foi citado o mapeamento n-rio, n>2 (ternrio,
quaternrio, etc), devido seu uso no ser muito comum, e pelo tempo que dispomos
para a concluso desta disciplina. Havendo a necessidade de pesquisar sobre o
mesmo, acesse a home page
http://gbdi.icmc.sc.usp.br/documentacao/apostilas/me-r/passo6.htm

EXERCCIOS DE MAPEAMENTO

1) Faa o mapeamento do MER abaixo.

Cdig

Departamento

possui

Orientador
Nom

1
Nr.

Nom

orientad

Nota

Disciplina

Cdig

[Digite texto]

Nom

N
cursa

Mdi

Aluno

Nr.

Nom

28

2) Faa o mapeamento do MER abaixo.


Rua
Nr.
pas

Cidad
Endere

Nom
e

PASSAGEIRO

Bairr
o

Endere
o
fone

Nom
e

Funes
EMPREGADO
Nmeroemp.

1
Escalado
para

possui

Regist
rado

M
SADA

dat
a

1
N
CARTO DE
PONTO

Nmero_Cart

Horr
io_ent

Horr
io_sa
da
Total de
Horas

Instn
cia de

origem

1
VO

destino

Model
o

HoraHora-chegada

AERONAVE

Nmero

1
design
a

[Digite texto]

Numer
o

29

Normalizao
Normalizao um processo formal passo a passo que examina os atributos de uma
entidade com o intuito de evitar anomalias de armazenamento de tuplas especficas. Esse
processo causa a simplificao dos atributos dentro da respectiva tupla, eliminando
grupos repetitivos, dependncias parciais de chaves concatenadas, dependncias
transitivas, entre outros, colaborando para a integridade e a estabilidade do modelo. A
experincia tem mostrado que o investimento de tempo que se faz para efetuar
manutenes em uma base de dados implementada inversamente proporcional ao
tempo aplicado no processo de normalizao.
O conceito de normalizao no modelo relacional foi introduzido por Codd Yourdon em
seu primeiro artigo sobre o modelo relacional de 1970, onde estabeleceu o que
posteriormente chamou-se de 1 Forma Normal.
A teoria de Normalizao est montada em torno deste conceito de formas normais. Uma
tabela (entidade) est numa forma normal se ela atender a um conjunto especfico de
restries.
A normalizao um processo formal passo a passo que examina os atributos de uma
entidade com o objetivo de evitar anomalias na incluso, excluso e alterao de tuplas
especficas.
Principais Formas Normais:
1 Forma Normal
2 Forma Normal
3 Forma Normal
1 Forma Normal
Remove grupos de repetio.
a normalizao da Tupla, de forma que o relacionamento entre a sua chave e seus
atributos seja UNVOCA, isto , para cada chave h a ocorrncia de um e somente um
dado de cada atributo.
Passos da 1 Forma Normal
1. Identifique atributos que possuam valores para uma ocorrncia da entidade.
2. Remova os atributos com uma cpia da chave primria.
Exemplo:
Cliente(Nmero, Nome, {EnderecoEntrega}) => No 1 Forma Normal
[Digite texto]

30

Nmero
124

Nome
Joo dos Santos

256
311

Jos Ferreira
Andr Alves

Endereo-Entrega
Rua 9 de Julho, 56
Av. 15 de Novembro, 1980
Av. Campos Sales, 250
Av. So Carlos, 95
Rua Jorge Assef, 900
Rua Rui Barbosa, 935

Converso para 1FN


Cliente(Nmero, Nome, End_Entrega)
Nmero
124
124
256
311
311
311

Nome
Joo dos Santos
Joo dos Santos
Jos Ferreira
Andr Alves
Andr Alves
Andr Alves

Endereo_Entrega
Rua 9 de Julho, 56
Av. 15 de Novembro, 1980
Av. Campos Sales, 250
Av. So Carlos, 95
Rua Jorge Assef, 900
Rua Rui Barbosa, 935

2 Forma Normal
a normalizao da tupla de forma que, j submetida 1FN, apresente uma chave
Concatenada que se relacione de forma integral com todos os seus atributos.
A relao est na 2FN se est na 1FN e se no existir atributo no chave que
dependente de s uma parte de qualquer chave candidata.
Passos da 2 Forma Normal
1- Identifique atributos dependentes somente de parte da chave primria
2- Remova os atributos encontrados com uma cpia de parte da chave primria.
Exemplo:
Pedido(Nr_Ped, Data, Nr_Pea, Descrio, Quantidade_Comprada, Preo_Cotado)
No 2FN, pois:
Nr_Ped, Nr_Pea => Quantidade_Comprada, Preo_Cotado
Nr_Ped => Data
Nr_Pea => Descrio

S dependem de uma
parte da chave primria

Anomalias de Atualizao (No 2FN)


Pedido
Nr_Ped
[Digite texto]

Data

Nr_Pea

Descrio

Qtd_Comprad
a

Preo_Cotado

31

1000
1020
1030
1040
1050
1070

14/11/98
15/11/98
15/11/98
16/11/98
17/11/98
20/11/98

AX12
BT04
BZ66
BT04
CB03
BT04

Bicicleta
TV
Bola
TV
Video-Game
TV

3
10
300
4
5
2

100,00
400,00
10,00
390,00
380,00
410,00

Gasto de Espao de Armazenamento e anomalias

1- Atualizao
Mudar descrio de BT04 implica em vrias mudanas (tempo!)
2- Dados Inconsistentes
A Pea BT04 pode Ter descries diferentes
3- Adies
Adicionar nova pea e descrio sem pedido para ela. Qual o valor de Nr_Ped ?
(Faz parte da Chave Primria !)
4- Eliminaes
Eliminar o Pedido 1000 = perde-se a informao de que a pea AX12 Bicicleta
Para corrigir o Problema:
-

Incluir nas relaes os atributos correspondentes Chave Primria apropriada


(coleo mnima da qual dependem)

Atribuir um nome para cada relao

2FN

Pedido (Nr_Ped, Data)


Pea
(Nr_Pea, Descrio)
Linha_Pedido (Nr_Pedido, Nr_Pea, Quantidade_Comprada, Preo_Cotado)
3 Forma Normal

Uma relao est na 3FN se e somente se estiver na 2FN e todo atributo no chave no
transitivamente dependente de qualquer outro no chave.
Passos para a 3 Forma Normal
1- Identifique atributos dependentes de outros atributos no chave.
2- Remova esses atributos com uma cpia do atributo do qual depende.
Exemplo:
Cliente(Nr_Cli, Nome, Endereo, Nr_Vendedor, Nome_Vendedor)
No est na 3FN, pois
Nome do Vendedor transitivamente dependente de Nr_Vendedor que por sua vez no
chave.
[Digite texto]

32

Para corrigir o Problema:


Cliente (Nr_Cliente, Nome, Endereco)
3FN
Vendedor (Nr_Vendedor, Nome_Vendedor)

Bibliografia

Elmasri, Ramez e Navathe, Shamkant B. Fundamentals of Database Systems,


World Student Series Edition, 1989

Machado, F.N.R e Abreu, M. Projeto de Banco de Dados, Uma Viso Prtica,


Editora rica, 1996

Korth, H.F e Silberschatz, A. Sistemas de Banco de DadosEd. Mc. Graw-Hill, 1995

Fulan Jos Davi Modelagem de Negcio Editora Makron Books, 1997

SARRO, Larissa Pina - Mapeamento do ME-R para o Modelo Relacional. Capturado


em
11/07/2002.
Online.
Disponvel
na
Internet
http://gbdi.icmc.sc.usp.br/documentacao/apostilas/me-r/

Elaborao: Prof Eliana C. Nogueira Barion

[Digite texto]

Das könnte Ihnen auch gefallen