Você está na página 1de 37

CURSO TCNICO 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.

A rea de banco de dados inclui ferramentas e principalmente pessoas


especializadas, capazes de compreender as diferentes tecnologias do mercado, escolher
a que melhor atende as suas expectativas e propor e modelar solues aos diversos
problemas que faro parte de suas atividades profissionais.

1.1- SISTEMA DE BANCO DE DADOS


Um Sistema de Banco de Dados basicamente um sistema computadorizado de
manuteno de registros; em outras palavras, um sistema computadorizado cuja
finalidade, geral armazenar informaes e permitir que os usurios busquem e
atualizem essas informaes quando as solicitar. As informaes em questo podem ser
qualquer coisa que tenha algum significado ao indivduo ou organizao a que o
sistema deve servir ou seja, qualquer coisa que seja necessria para auxiliar no
processo das atividades desse indivduo ou dessa organizao.

O Sistema de Banco de Dados envolve quatro componentes principais: dados,


hardware, software e usurios.

Dados

Um banco de dados nada mais do que um repositrio de dados, que pode ser
classificado como integrado ou compartilhado. O banco de dados integrado visa ao
controle de total eliminao da redundncia de dados geralmnete encontrada em
sistemas de arquivos comuns (gerenciadores de arquivos); o compartilhado visa ao
acesso de vrios usurios a uma mesma parte dos dados, com finalidades distintas.

Hardware

Os componentes de hardware do sistema consistem em:

Pgina 3 de 37
______________________________________________________Modelagem de Dados 1
Volumes de aramazenamento secundrio normalmente, discos magnticos -,
que so usados para manter os dados armazenados, juntamente com os
dispositivos de E/S associados (unidades de discos, etc.), controladores de
dispositivos, canais de E/s e assim por diante.

Processador(es) de hardware e memria principal associada, que so usados para


dar suporte execuo do software do Sistema de Banco de Dados.
Software

Entre o banco de dados fsico ou seja, os dados fisicamente armazenados e os


usurios do sistema existe uma camada de software, conhecida como gerenciador de
banco de dados ou servidor de bando de dados ou, mais frequentemente, como sistema
gerenciador de banco de dados (SGBD). Todas as requisies de acesso ao banco de
dados so tratadas pelo SGBD; os recursos para acrescentar e remover arquivos (ou
tabelas), buscar dados e atualizar dados em tais arquivos ou tabelas, e assim por diante,
so facilidades fornecidas pelo SGBD

O SGBD , de longe, o componente de software mais importante de todo o sistema mas


no o nico. Outros componentes incluem utilitrios, ferramentas de desenvolvimento
de aplicaes, recursos para auxiliar no projeto, geradores de relatrios e o gerenciador
de transaes. O termo SGBD tambm usado para se referir, genericamente, a algum
produto especfico de algum fornecedor em particular.

Usurios

Consideramos trs classes gerais de usurios:

Os programadores de aplicaes, responsveis pela escrita de programas de


aplicaes de banco de dados em alguma linguagem de programao. Esses
programas acessam o banco de dados emitindo a requisio apropriada ao SGBD.

Os usurios finais acessam ao banco de dados interativamente.

Os profissionais da rea de banco de dados, saber:

Administrador de Dados que a pessoa responsvel pelos dados da


empresa. Os dados constituem um dos bens mais valiosos da empresa,
imperativo que deva existir alguma pessoa que entenda esses dados e as
necessidades da empresa com relao a esses dados, em um nvel mais
elevado da administrao. seus trabalho decidir que dados devem ser
armazenados no banco de dados, alm de estabelecer normas para manter
e tratar esses dados, uma vez que venham a ser armazenados.

Administrador de Banco de Dados (DBA) o tcnico responsvel pela


implementao das decises do Administrador de Dados. um profissional
de tecnologia da informao. Seu trabalho criar o banco de dados
propriamente dito e implementar os controles tcnicos necessrios para
por em prtica as diversas decises sobre normas tomadas pelo
Administrador de Dados. Tambm responsvel por assegurar que o
sistema operar com desempenho adequado e por oferecer vrios outros
servios tcnicos.

1.2- O QUE UM BANCO DE DADOS?

Pgina 4 de 37
______________________________________________________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:

Acrescentar novos arquivos ao banco de dados;


Inserir dados em arquivos existentes;
Buscar dados de arquivos existentes;
Excluir dados de arquivos existentes;
Alterar dados em arquivos existentes;
Remover arquivos existentes do banco de dados.

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.

O termo empresa, aqui, simplesmente um termo genrico para qualquer


organizao comercial, cientfica, tcnica ou outra organizao razoavelmente autnoma.
Uma empresa poderia ser um nico indivduo (com um pequeno banco de dados pessoal)
ou uma corporao ou grande empresa completa (com um enorme banco de dados
compartilhado), ou qualquer coisa entre esses extremos (uma fbrica, uma universidade,
um banco, um hospital, uma unidade do governo, etc.). Qualquer empresa precisa
necessariamente manter muitos dados sobre a sua operao. Esses dados so
persistentes. As empresas que mencionamos, anteriormente, normalmente incluiriam os
seguintes itens (respectivamente) entre seus dados persistentes: sobre produtos, sobre
alunos, sobre pacientes, sobre planejamento, etc.

difcil assinalar a real importncia de um banco de dados sem o estudo e a


prtica dos conceitos relacionados, mas, em sntese, um banco de dados prev a
manuteno dos dados organizados, permitindo atualizao, incluso e excluso de
dados, garantindo consistncia, integridade, acessos mltiplos, recuperao em caso de
falhas e retornos tempestivos. Essas so caractersticas mais apreciadas e desejadas na
utilizao de um banco de dados.

Um banco de dados deve conter dados dispostos numa ordem determinada por
um esquema ou modelo, sempre atendendo a um propsito definido. Podem ser citados
como exemplos a lista telefnica, a lista de cdigos de endereamento postal e outros.

1.3- SISTEMAS GERENCIADORES DE BANCO DE


DADOS (SGBD)
Hoje em dia, a grande maioria dos programas comunica-se com os usurios
utilizando interfaces grficas de janelas. Entretanto, normalmente, os programas no
contm todo o cdigo referente a exibio dos dados da interface, mas utilizam
gerenciadores de interface de usurio. Da mesma forma, para comunicar-se com
processos remotos, usam gerenciadores de comunicao. Para manter grandes
repositrios compartilhados de dados, ou seja, para manter banco de dados, so usados
Sistemas de Gerncia de Bancos de Dados (SGBD).

No SGBD, existe um gerenciador entre as aplicaes e a base de dados comum a


estas aplicaes. Ento reduz a redundncia, evita a inconsistncia, mantm a
integridade e a transparncia de dados, utiliza vises do usurio, atende as exigncias
Pgina 6 de 37
______________________________________________________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
1 S
2
Aplicao
2
3
3
G

o software que trata de todo o acesso ao banco de dados. Conceitualmente, o


que ocorre o seguinte:
B
Um usurio faz um pedido usando uma determinada sublinguagem de dados
(geralmente SQL);
O SGBD intercepta o pedido e o analisa;
D
O SGBD, por sua vez, inspeciona o esquema externo, para esse usurio;
O SGBD executa as operaes necessrias sobre o banco de dados armazenado.

Um SGBD uma coleo de programas que permitem ao usurio definir, construir


e manipular Bases de Dados para as mais diversas finalidades.

Existem algumas regras bsicas e claras para que um sistema de manipulao de


dados possa ser considerado um SGBD. Fica implcito que se ao menos uma das
caractersticas abaixo no estiver presente no nosso "candidato" a SGBD, este poder ser
um Gerenciador de Arquivo de altssima qualidade, "quase" um SGBD, mas no um
SGBD.

Regra Explicao

Auto-Conteno Um SGBD no contm apenas os dados em si, mas armazena


completamente toda a descrio dos dados, seus relacionamentos e
formas de acesso. Normalmente esta regra chamada de Meta-Base de
Dados.
Independncia dos Quando as aplicaes estiverem realmente imunes a mudanas na
Dados estrutura de armazenamento ou na estratgia de acesso aos dados,
podemos dizer que esta regra foi atingida. Portanto, nenhuma definio
dos dados dever estar contida nos programas da aplicao. Quando
voc resolve criar uma nova forma de acesso, um novo ndice, se
precisar alterar o cdigo de seu aplicativo, voc no est lidando com
um SGBD.
Abstrao dos Dados Em um SGBD real fornecida ao usurio somente uma representao
conceitual dos dados, o que no inclui maiores detalhes sobre sua forma
de armazenamento real. O chamado Modelo de Dados um tipo de
abstrao utilizada para fornecer esta representao conceitual. Neste
modelo, um esquema das tabelas, seus relacionamentos e suas chaves
de acesso so exibidas ao usurio, porm nada afirmado sobre a
criao dos ndices, ou como sero mantidos, ou qual a relao existente
entre as tabelas que dever ser mantida ntegra. Assim se voc desejar
inserir um pedido em um cliente inexistente e esta entrada no for
automaticamente rejeitada, voc no est lidando com um SGBD.
Vises Um SGBD deve permitir que cada usurio visualize os dados de forma
diferente daquela existente previamente no Banco de Dados. Uma viso
consiste de um subconjunto de dados do Banco de Dados,
necessariamente derivados dos existentes no Banco de Dados.
Transaes Um SGBD deve gerenciar completamente a integridade referencial
definida em seu esquema, sem precisar em tempo algum, do auxlio do
programa aplicativo. Desta forma exige-se que o banco de dados tenha
ao menos uma instruo que permita a gravao de uma srie
Pgina 7 de 37
______________________________________________________Modelagem de Dados 1
modificaes simultneas e uma instruo capaz de cancelar uma srie
modificaes. Por exemplo, imaginemos que estejamos cadastrando um
pedido para um cliente, que este deseje reservar 5 itens de nosso
estoque, que esto disponveis e portanto so reservados, porm existe
um bloqueio financeiro (duplicatas em atraso) que impede a venda. A
transao dever ser desfeita com apenas uma instruo ao Banco de
Dados, sem qualquer modificao suplementares nos dados. Caso voc
se obrigue a corrigir as reservas, atravs de acessos complementares,
voc no est lidando com um SGBD.
Acesso Automtico Em um Gerenciador de Arquivos uma situao tpica o chamado Dead-
Lock, o abrao mortal. Esta situao indesejvel pode ocorrer toda vez
que um usurio travou um registro em uma tabela e seu prximo passo
ser travar um registro em uma tabela relacionada primeira, porm se
este registro estiver previamente travado por outro usurio, o primeiro
usurio ficar paralisado, pois, estar esperando o segundo usurio
liberar o registro em uso, para que ento possa trav-lo e prosseguir sua
tarefa. Se por hiptese o segundo usurio necessitar travar o registro
travado pelo primeiro usurio, afirmamos que ocorreu um abrao mortal,
pois cada usurio travou um registro e precisa travar um outro,
justamente o registro anteriormente travado pelo outro. Imaginemos um
caso onde o responsvel pelos pedidos acabou de travar o Registro Item
de Pedido, e, necessita travar um registro no Cadastro de Produtos, para
indicar uma nova reserva. Se concomitantemente estiver sendo
realizada uma tarefa de atualizao de pendncias na Tabela de Itens, e
para tanto, previamente este segundo usurio travou a Tabela de
Produtos, temos a ocorrncia do abrao mortal. Se a responsabilidade de
evitar esta ocorrncia for responsabilidade da aplicao, voc no est
lidando com um SGBD.

As funes do SGBD devem incluir o suporte a, pelo menos, todos os itens a


seguir:

Definio de Dados: o SGBD deve ser capaz de aceitar definies de dados em


formato fonte e convert-los para o formato objeto adequado.
Manipulao de Dados: O SGBD deve ser capaz de lidar com as requisies do
usurio para buscar atualizar ou excluir dados existentes no banco de dados, ou
para acrescentar novos dados ao banco de dados.
Otimizao e Execuo: O SGBD deve ser capaz de determinar um modo
eficiente de implementar a requisio.
Segurana e Integridade de Dados: O SGBD, ou algum subsistema chamado,
pelo SGBD, deve monitorar requisies de usurios e rejeitar toda a tentativa de
violar as restries de segurana e integridade definidas pelo DBA.
Recuperao de Dados e Concorrncia: O SGBD deve impor certos controles
de recuperao e concorrncia.
Dicionrio de Dados: Pode ser considerado um banco de dados isolado (mas um
banco de dados do sistema, no um banco de dados do usurio); ele contm
dados sobre os dados ou seja, definies de outros objetos do sistema, em vez
de somente dados crus.
Desempenho: irrelevante dizer que o SGBD deve realizar todas as funes
identificadas anteriormente de forma to eficiente quanto possvel.

1.3.1- ABSTRAO DE DADOS

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 conceitual. Neste nvel de abstrao descreve quais dados esto


armazenados de fato no banco de dados e as relaes que existem entre eles. O
nvel conceitual a viso do conjunto de usurios, portanto a viso geral do
banco de dados.

Nvel de vises. O mais alto nvel de abstrao descreve apenas parte do banco
de dados. O nvel de vises o mais prximo dos usurios. Voltado para a forma
como os dados so vistos pelos usurios individuais. Um determinado usurio,
tanto pode ser um programador de aplicaes como um usurio de terminal on-
line ou um usurio final de qualquer grau de sofisticao. Descreve as partes do
banco de dados que so do interesse de um ou vrios usurios, escondendo as
demais partes que no so do seu interesse.

NVEL DE VISES

(VISO DO USURIO
INDIVIDUAL)

NVEL CONCEITUAL

(VISO DO CONJUNTO DE USURIOS)

NVEL FSICO

(VISO DO ARMAZENAMENTO)

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 Este modelo de banco de dados descrito por um diagrama de estrutura de rvore,
com dois componentes bsicos: as caixas correspondentes aos tipos de registro e
as linhas que representam as ligaes entre os tipos de registro. Pode ser
representado diretamente quando os dados so definidos com relacionamentos
hierrquicos, isto , um segmento raiz, localizado no topo da estrutura, que se
relaciona com outros segmentos de cima para baixo, da esquerda para a direita,
denominado de diagrama de estrutura de dados ou de rvore (relacionamento do
topo para baixo e das folhas para dentro). Este modelo se tornou vivel quando a
estrutura dos discos de armazenamento se tornou enderevel, possibilitando a
representao hierrquica das informaes coma utilizao do endereamento
fsico daqueles dispositivos. Todos os bancos de dados apresentam vantagens e
desvantagens em sua utilizao, e com o banco de dados modelo hierrquico no
diferente. Ele um modelo bastante simplificado, representa naturalmente
sistemas que possuem uma hierarquia bem definida, no representando sistemas
que no possuem tais caractersticas, alm de aumentar os ndices de redundncia
(duplicidade), possuir tempos de consulta e processamento reconhecidamente
altos.
Modelo de Rede Pode ser visto como uma extenso mais completa do modelo hierrquico, apenas
livre das dificuldades encontradas no modelo anterior. Os controles existentes
quanto aos recursos de armazenamento, estrutura e caminhos utilizados para
navegar de um registro a outro tornam o modelo de rede mais completo. O banco
de dados em rede composto de uma estrutura mais completa, possui as
propriedades bsicas de registros, conjuntos e ocorrncias, e utiliza a linguagem de
definio de banco de dados (DDL) e a linguagem de manipulao de dados (DML),
alm de permitir uma evoluo mais eficiente do modelo. A estrutura formada de
entidade (registros), atributos (itens de dados), tipos de registros e ocorrncia do
registro. Tanto no modelo hierrquico quanto o de rede so chamados de sistemas
de navegao, pois as aplicaes devem ser construdas para atravessar um
conjunto de registros interligados previamente. A maior vantagem do modelo de
rede frente ao hierrquico um melhor controle sobre a redundncia de dados.
Modelo Relacional O banco de dados mais utilizado atualmente o banco de dados relacional,
principalmente pelas suas fortes caractersticas de seguranas, compartilhamento
e integridade dos dados, fatores primordiais para uma administrao eficaz da
informao de qualquer empresa. Com o prprio nome diz, esse tipo de banco de
dados composto de relaes entre entidades, denominadas tabelas, seguindo o
mesmo conceito matemtico de relao. As tabelas se relacionam por meio de
chaves denominadas estrangeiras, que podem ser simples, formadas por apenas
um atributo, ou compostas, formadas por vrios atributos. Por atributo
compreende-se a representao de um tipo de informao. Para que um modelo
seja considerado relacional, os dados devem ser armazenados em tabelas, nenhum
ponteiro ou ligao deve ser visvel ao usurio, a linguagem de consulta deve ser
relacionalmente completa e as consultas podem ser expressas sem uso de
iteraes ou recurses. Cada linha da tabela, formada por um conjunto de colunas,
representa um registro (ou tupla). Os registros no precisam necessariamente
conter dados em todas as colunas, ou seja, seus valores podem ser nulos. As
colunas de uma tabela so tambm chamadas de campos. Os campos possuem
caractersticas que definem o dado que ser armazenado. Os sistemas de banco
de dados possuem normas que iro reger os dados que so armazenados. Em um
banco de dados pode existir uma ou centenas de tabelas. O limitador imposto
exclusivamente pela ferramenta computacional ou SGBD utilizado. Cada coluna de
uma tabela obedece s regras definidas na sua criao. Cada coluna recebe um
tipo de dado, que representa o conjunto de valores que podem ser armazenados
em cada uma das colunas. Basicamente, cada coluna representa o tipo de cada
dado, ou seja, as regras de entrada dos dados, evitando a incompatibilidade. J as
linhas representam todos os dados cadastrados, ou seja, um conjunto de colunas
ou campos. As linhas representam o nmero de registros cadastrados na tabela e
as colunas representam os tipos de dados ou campos cadastrados. Alguns campos
da tabela, alm do tipo de dados, possuem uma propriedade adicional. Esses
campos recebem o nome de chave. Existem dois tipos de chaves: chave primria (
a chave que identifica cada registro, dando-lhe unicidade. Essa chave nunca de
se repetir dentro da estrutura da tabela) e chave estrangeira ( a chave formada
pela chave primria de outra tabela e a chave de um campo da tabela externa que
recebe o relacionamento. Essa chave, de forma resumida, define um
relacionamento entre as tabelas e pode ocorrer repetidas vezes).
Modelo Orientado a Trata-se basicamente de um sistema em que a unidade de armazenamento vista
Objetos como um objeto, ou seja, ela tem propriedades e no campos. A principal
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.

Por Nmero de Usurios

Monousurios o tipo de banco de dados, construdo para utilizao de apenas


um usurio de cada vez, diferentemente dos bancos multiusurios, que garantem a
utilizao dos dados de forma compartilhada por vrios usurios ao mesmo tempo.

Por Localizao

Banco de dados distribudo uma estrutura com dois ou mais arquivos


armazenados em diferentes locais, em uma rede de computadores, responsvel pelo
armazenamento e recuperao das informaes de forma transparente para os usurios.
As caractersticas principais que um banco de dados distribudo deve possuir so
descritas a seguir:

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.

A implementao de um banco de dados distribudo no constitui tarefa fcil,


cabendo uma anlise bem-feita sobre as necessidades de se usar ou no essa estrutura,
optando-se, em muitos casos, pela utilizao de banco de dados centralizado, onde todos
os programas e processamentos ocorrem no computador hospedeiro, que traz como
maior vantagem a segurana da centralizao.

As vantagens apresentadas pelo banco de dados em relao arquitetura


tradicional de arquivos so:

Reduo e eliminao de redundncias. Na arquitetura tradicional de


arquivos, cada sistema possui seus prprios arquivos, provocando desperdcio de
espao de armazenamento quando as informaes so duplicadas. Com a
utilizao de banco de dados, os dados comuns a mais de um sistema podem ser
compartilhados, o que permite o acesso a uma nica fonte da informao.
Eliminao de inconsistncias. Como a informao est armazenada em um
nico local, compartilhada por vrios sistemas, e atualizada por apenas uma
fonte, os usurios utilizam informaes mais confiveis.
Compartilhamento de dados. Permite que mais de uma aplicao ou usurio,
independentemente da operao que est sendo realizada, tenha acesso aos
dados simultaneamente e de uma forma mais segura. O compartilhamento
tambm diminui os custos quando da implementao de novas aplicaes ou
sistemas.
Pgina 11 de 37
______________________________________________________Modelagem de Dados 1
Restrio de segurana. Permite definir perfis de utilizao dos dados, a partir
de nveis de acesso definidos pelo gestor da informao, impedindo que pessoas
no autorizadas utilizem ou atualizem determinada informao.
Reforo de padres. Garante que os dados armazenados sigam um padro
definido no que tange a nomenclatura e formato de armazenamento, facilitando a
utilizao dos dados por vrios sistemas.
Independncia dos dados. O armazenamento dos dados facilitado por
possuir definies diferentes para cada tabela do banco.
Integridade dos dados. Permite que a integridade dos dados seja mantida por
regras predefinidas, impedindo que uma chave de uma tabela no tenha
correspondncia em outra.
Restaurao dos dados. Possibilita um controle da restaurao dos dados em
caso de falha de ambiente ou de um aplicativo, mantendo a integridade dos
dados.
Reorganizao dos dados. Permite que os dados sejam reorganizados de forma
a eliminar espaos inutilizados, redimensionando as tabelas e, por conseqncia,
melhorando a performance de acesso.
Relacionamentos. Ocorre a implementao de relacionamentos complexos
entre os dados.

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

Para construir um modelo de dados usa-se uma linguagem de modelagem de


dados. Estas linguagens podem ser classificadas de acordo com a forma de apresentar
modelos, em linguagens textuais ou linguagens grficas. Existem linguagens de
modelagem para descrever modelos de dados em diferentes nveis de abstrao e com
diferentes objetivos. Cada representao de um modelo de dados atravs de uma
linguagem de modelagem de dados recebe a denominao de esquema de banco de
dados.

De acordo com a inteno do modelador, um banco de dados pode ser modelado


(descrito) em vrios nveis de abstrao. Um modelo de dados que servir para explicar
a um usurios leigo em informtica qual a organizao de um banco de dados
provavelmente no conter detalhes sobre a representao em meio fsico, das
informaes. J um modelo de dados usado por um tcnico para otimizar a performance
de acesso ao banco de dados conter mais detalhes de como as informaes esto
organizadas internamente e, portanto, ser menos abstrato.

Assim como possvel, construir modelos de dados em vrios nveis de abstrao


, tambm, possvel usar diferentes tcnicas, aplicando diferentes conceitos aos
construir modelos. Ao conjunto de conceitos usados na construo de um modelo
denominamos de abordagem de modelagem.

2.1- MODELO CONCEITUAL

Representa e descreve a realidade do ambiente do problema, constituindo-se em


uma viso global dos principais dados e seus relacionamentos (estruturas de informao),
completamente independente dos aspectos de sua implementao tecnolgica. Quando
falamos em modelo conceitual, estamos nos referindo aquela que deve ser a primeira
etapa de um projeto de um banco de dados.

Pgina 13 de 37
______________________________________________________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.

2.2- MODELO LGICO

Ele somente tem o seu incio aps a criao do modelo conceitual. A partir deste
ponto vamos considerar uma das abordagens possveis da tecnologia de SGBDs
(relacional, hierrquico, rede e orientado a objetos) para a estruturao e
estabelecimento da lgica dos relacionamentos existentes entre os dados definidos no
modelo conceitual.

O modelo lgico descreve em formato as estruturas que estaro no banco de


dados de acordo com as possibilidades permitidas pela sua abordagem, mas sem
considerar, ainda, nenhuma caracterstica especfica de SGBD. Isso resulta em um
esquema lgico de dados sob a ptica de uma das abordagens citadas, atravs do
emprego de uma tcnica de modelagem de dados orientada s restries de cada
abordagem.

2.3- MODELO FSICO

O modelo fsico ser construdo a partir do modelo lgico e descreve as estruturas


fsicas de armazenamento de dados, tais como:
Tipo e tamanho de campos;
ndices;
Domnio de preenchimento desses campos;
Nomenclaturas;
Exigncia de contedo;
Gatilhos; etc.
Estas so projetadas de acordo com os requisitos de processamento e uso mais
econmico dos recursos computacionais. Esse modelo detalha o estudo dos mtodos de
acesso ao SGBD para a criao dos ndices necessrios para cada informao colocada
nos modelos conceitual e lgico.

Pgina 14 de 37
______________________________________________________Modelagem de Dados 1

2.4- PROJETO DE BANCO DE DADOS


O projeto de um novo banco de dados d-se em trs fases:

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.

3.1- TEORIA RELACIONAL


A abordagem relacional representa uma forma de descrever um banco de dados
atravs de conceitos matemticos simples: a teoria dos conjuntos.

Voltada, principalmente, a melhorar a viso dos dados pelos usurios, a


abordagem relacional faz com que os usurios vejam o banco de dados como um
conjunto de tabelas bidimensionais, originadas em linhas e colunas.

So conjuntos de dados vistos segundo um conjunto de


TABELAS, e as operaes que as utilizam so feitas por
linguagens que o manipulam, no sendo procedurais, ou seja,
manipulando conjuntos de uma s vez.

O conceito principal vem da tria dos conjuntos atrelado concepo de que no


relevante ao usurio saber onde os dados esto nem como os dados esto
(transparncia).

Os usurios manipulam estes objetos dispostos em linhas e colunas das tabelas


que possuem informaes sobre o mesmo assunto de forma estruturada e organizada.

Para lidar com estes objetos, o usurio conta com um conjunto de operadores e
funes de alto nvel, constantes na lgebra relacional.

A Teoria Relacional possui premissas que definem uma tabela de dados:

Cada uma das tabelas chamada de relao;


O conjunto de uma linha e suas colunas chamado tupla;
Cada coluna dessa tabela tem um nome e representa um domnio da tabela;
No h duas linhas iguais;
Usamos nomes para fazer referncia s colunas;
Cada tabela tem um nome prprio, distinto de qualquer outra tabela no banco de
dados.

Exemplo 1

Tabela de CDs

N do Dt da Ttulo do Responsvel Local onde est


CD Gravao Contedo guardado

Pgina 16 de 37
______________________________________________________Modelagem de Dados 1
1 24/01/2001 Clipart Samir Estojo Verde
3 13/02/2000 IRRF 2000 Felipe Caixa de Documentos
2 14/12/2000 Backup Textos Felipe Estojo Azul
4 25/01/2000 Fotos Gramado Samir Caixa de lbum 3

Podemos observar a tabela de CDs que os conceitos listados anteriormente em


relao s tabelas relacionais esto destacados:

A ordem das linhas irrelevante, pois o CD de nmero 2 vem aps o CD de


nmero 3. Se observarmos mais detalhadamente, veremos que o CD nmero 3
tem uma data inclusive menor que o CD de nmero 2;
Nenhuma linha se repete nesta tabela;
A ordem das colunas tambm no tem nenhum destaque, ou importncia, pois
no esto em nenhuma ordem lgica;
Todas as colunas tm um nome, que identifica o seu contedo, ou melhor, o
significado do valor de seu contedo.

Exemplo 2

Tabela Funcionrios

Nome Sexo Matrcul Departame Cargo Salrio


a nto
Joo Carlos M 373 TI Operaes Operador 3.000,00
Carlos Brito M 872 TI Programador I 3.500,00
Programao
Silvia Morais F 963 TI Anlise Analista 5.500,00
Sistemas II
Claudia Tereza F 161 TI Gerncia Secretaria 1.500,00
Pedro Julio M 292 RH Diretor 6.000,00
Pedro Julio M 574 TI Anlise Analista 4.500,00
Sistemas I

Vamos analisar a tabela acima:

A coluna matrcula no indica nenhuma ordem para as linhas, confirmando o


conceito de que a ordem das linhas irrelevante;
Todas as colunas tm um nome que significa algo sobre o assunto, o que bem
evidente;
A disposio das colunas no tem nenhuma finalidade de classificao, tampouco
indica ordem de leitura dos dados;
A modificao da ordem das colunas no acarreta prejuzo nenhum do assunto ou
da representatividade da tabela;

Salrio Nome Sexo Matrcu Departamen Cargo


la to
3.000,00 Joo Carlos M 373 TI Operaes Operador
3.500,00 Carlos Brito M 872 TI Programador I

Pgina 17 de 37
______________________________________________________Modelagem de Dados 1
Programao
5.500,00 Silvia Morais F 963 TI Anlise Analista Sistemas II
1.500,00 Claudia Tereza F 161 TI Gerncia Secretaria
6.000,00 Pedro Julio M 292 RH Diretor
4.500,00 Pedro Julio M 574 TI Anlise 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.2- CARACTERSTICAS PRINCIPAIS DE UMA


RELAO (TABELA)
Vamos definir a concepo tcnica de uma relao (tabela).

NumR NomeFunc DtAdmisso Se Fone CodDep


eg Dia Ms Ano xo to
101 Luis Sampaio 10 08 200 M 2565- D5
3 8974
104 Carlos Pereira 02 08 200 M 31331- D6
4 4649
134 Jos Alves 23 03 200 M 2386- D1
2 8897
121 Luiz Paulo Souza 10 05 200 M 2241- D5
1 5896
25 Marta Silveira 05 12 200 F 2693- D5
2 5521
2594-
8523
2594-
8522
139 Ana Luiza Magalhes 12 01 200 F 4545- D6
3 8899
123 Pedro Sergio Doto 29 01 200 M 2496- D3
3 8855
148 Larissa Silva 01 06 200 F 4289- D6
2 9675
115 Roberto Fernandes 15 06 200 M 2685- D5
3 8132
22 Sergio Nogueira 10 10 200 M 2594- D4
0 3122

Atributo
Composto
Atributo
Multivalorado

Todos os atributos (colunas) de uma relao devem ser atmicos, isto ,


indivisveis em termos de valores e componentes.

Isso quer dizer que no existem colunas do tipo subgrupo, todas so itens
elementares no subdivididos em nenhuma hiptese. E, tambm, no permitida a

Pgina 18 de 37
______________________________________________________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.

O exemplo de uma tabela funcionrio apresenta:

Nmero de registro (NumReg), nome de funcionrio (NomeFunc), data de


admisso (DtAdmisso), sexo (Sexo), telefone (Fone) e departamento (CodDepto);

Cada tupla (linha) da relao (tabela) deve ser interpretada como fato ou uma
ocorrncia particular dessa afirmao;

NumReg NomeFunc DtAdmiss Sexo Fone CodDep


o to
101 Luis Sampaio 10/08/2003 M 2565- D5
8974
104 Carlos Pereira 02/08/2004 M 31331- D6
4649
134 Jos Alves 23/03/2002 M 2386- D1
8897
121 Luiz Paulo Souza 10/05/2001 M 2241- D5
5896
25 Marta Silveira 05/12/2002 F 2693- D5
5521
139 Ana Luiza Magalhes 12/01/2003 F 4545- D6
8899
123 Pedro Sergio Doto 29/01/2003 M 2496- D3
8855
148 Larissa Silva 01/06/2003 F 4289- D6
9675
115 Roberto Fernandes 15/06/2002 M 2685- D5
8132
22 Sergio Nogueira 10/10/2000 M 2594- D4
3122

3.3- DOMNIO
Representa o conjunto de valores atmicos admissveis de um componente
(coluna) de uma relao (tabela).

Exemplo

Telefone: conjunto de 10 dgitos;


Idade_Empregado: 16 idade 70;
Departamentos: conjunto de departamentos de uma empresa.

Pgina 19 de 37
______________________________________________________Modelagem de Dados 1
A cada domnio est associado um tipo de dados ou formato.

Exemplo

Telefone: (ddd) dddd-ddddd, onde d={0,1,2,3,4,5,6,7,8,9}


Idade_Empregado: nmero inteiro entre 16 e 70

Restries de domnio so estabelecidas determinando-se domnios de valores


para cada coluna de uma tabela. Normalmente so estabelecidos e definidos os valores
que uma coluna de uma tabela pode ter, isto , o domnio da coluna. Permitem, por
exemplo:

Verificar os valores inseridos em um banco de dados;


Testar consultas para garantir que as comparaes tinham sentido;
Em geral, o domnio especificado por tipos primitivos de dados, tais como:
interger, float, char, date, Money, time, etc.

Tambm, podem ser descritos pela definio de subconjuntos de tipos primitivos


ou de listas enumeradas, ou seja, listas de valores possveis de existir na coluna.
3.4- CHAVE PRIMRIA
Em toda e qualquer tabela existente em um banco de dados relacional haver
sempre uma coluna ou um conjunto de colunas concatenadas, cujos valores so nicos
na tabela, isto , nunca se repete aquele valor em nenhuma outra linha da tabela.

Essa coluna ou conjunto de colunas concatenadas identifica uma nica linha da


tabela. Ento dizemos que essa coluna ou conjunto de colunas forma a chave primria
da tabela.

NumReg NomeFunc DtAdmiss Sexo Fone CodDep


o to
101 Luis Sampaio 10/08/2003 M 2565- D5
8974
104 Carlos Pereira 02/08/2004 M 31331- D6
4649
134 Jos Alves 23/03/2002 M 2386- D1
8897
121 Luiz Paulo Souza 10/05/2001 M 2241- D5
5896
25 Marta Silveira 05/12/2002 F 2693- D5
5521
139 Ana Luiza Magalhes 12/01/2003 F 4545- D6
8899
123 Pedro Sergio Doto 29/01/2003 M 2496- D3
8855
148 Larissa Silva 01/06/2003 F 4289- D6
9675
115 Roberto Fernandes 15/06/2002 M 2685- D5
8132
22 Sergio Nogueira 10/10/2000 M 2594- D4
3122

Na tabela acima, qual coluna ou qual conjunto de colunas que concatenadas


formam um identificador nico para cada linha desta tabela?

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.

3.5- VALORES NULOS


Por definio, todas as linhas de uma tabela tm de ser distinguveis umas das
outras, devem possuir um identificador nico.

Um identificador de chave primria nulo significa dizer que existe uma ocorrncia
(linha) na tabela sem identificao nica, ou no distinguvel.

Se uma tabela relacional tem uma chave primria, que um valor nico para
cada linha da tabela, logo esse valor no pode em hiptese alguma estar nulo, ou seja,
ser desconhecido.

Estendendo este conceito, destacamos que nenhuma das colunas que participam
da composio da chave primria pode ter valor nulo, pois o resultado da concatenao
seria nulo, em uma operao de concatenao de valores.

3.6- REGRA DE INTEGRIDADE DE IDENTIDADE


A identificao de uma linha de uma tabela no pode ser feita por um valor
desconhecido, motivo pelo qual a chave primria de uma tabela no pode possuir
nenhum elemento de sua composio com valor nulo.

3.6.1- CHAVE PRIMRIA

Coluna ou concatenao de colunas;


Valor nico na tabela;
Cada linha tem um valor diferente na chave primria;
No existem valores nulos na chave primria.

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
A definio de uma tabela realizada por um formato denominada esquema da
tabela;
Esse formato destaca a chave primria por um sublinhado no nome da coluna:
para a tabela de funcionrios que apresentamos o esquema seria Funcionrio
(NumReg, NomeFunc, DtAdmissao, Sexo, Fone, CodDepto).

3.6.2- CHAVE ESTRANGEIRA


Uma tabela relacional uma estruturao dos dados por assunto, organizada em
tabelas com linhas e colunas, e cada linha a representao de uma ocorrncia de um
objeto, um assunto, descrita por valores em cada coluna. Dessas colunas j sabemos que
uma ou um conjunto delas forma o que definimos como o identificados nico de cada
linha que a chave primria da tabela.

Exemplo

Vamos analisar as propriedades que as colunas de uma tabela relacional podem


ter e as regras dessas propriedades

Existem trs tabelas nesse pequeno banco de dados.

So as tabelas referentes aos produtos de nossa cozinha, neste caso somente os


alimentos. Uma que chamaremos de tabela de Estoque de alimentos, uma de
Fornecedores e uma de Unidade de armazenamento.

Uma caracterstica importante nas tabelas relacionais que elas tm muitas vezes
colunas comuns.

Estoque de Alimentos
Alimento Quantida Data Fabrican Unidad
de Validade te e
Feijo 2 20/08/2004 2 1
Leite 3 12/07/2004 4 2
Acar 5 12/08/2004 1 1
Arroz 3 10/10/2004 6 1
Azeite 2 12/03/2004 5 6
Caf 1 12/12/2004 3 1

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
______________________________________________________Modelagem de Dados 1
1 Kg
2 Litro
3 Pea
4 Envelope
5 Pote 500g
6 Vidro 500g

Esquema do Banco de Dados


Estoque de Alimentos {Alimento, Quantidade, Data Validade, Fabricante, Unidade}
Fornecedores {Fabricante, NomeFabricante}
Unidades de Armazenamento {Unidade, Descrio}

Observe que a tabela de Estoque de Alimentos tem as colunas Nmero do


Fabricante e Cdigo da Unidade, que tambm existem respectivamente nas tabelas
Fornecedores e Unidade de Armazenamento.

Esta uma caracterstica que em primeiro lugar tem como objetivo inicial evitar
que sejam inseridos na tabela de alimentos, por exemplo, valores relativos a um mesmo
fornecedor de duas maneiras: Tio Joo e T. Joo, fazendo com que apresentssemos o
mesmo produto como sendo de dois fornecedores diferentes.

Isso ajuda a eliminar ou diminuir erros de entrada de dados nos sistemas, e


manter a consistncia do banco de dados, pois utilizamos o nmero do fornecedor em
lugar de, talvez, digitar o seu nome.

O que significa uma tabela ter coluna ou colunas que existem em outra tabela?

Analisando as tabelas e o esquema do banco de dados, observamos que cada


tabela tem uma chave primria.

A tabela Estoque de Alimentos tem como chave primria a coluna Alimento.

A tabela Fornecedores tem como chave primria a coluna Fabricante, e a tabela


Unidade de Armazenamento tem como chave primria a coluna Unidade.

O que significa quando temos um campo que chave primria de uma tabela que
faz parte dos campos de outra tabela?
Isso o que denominamos de chave estrangeira.

uma referncia de um elemento de uma tabela a um elemento de outra tabela,


uma relao entre as tabelas, uma ligao lgica entre elas.

Ento, no exemplo, a coluna Fabricante na tabela Estoque de Alimentos uma


chave estrangeira, assim como Unidade tambm outra chave estrangeira nesta tabela.

Uma tabela pode ter tantas chaves estrangeiras quantas forem as suas
associaes a outras tabelas.

Uma tabela pode ter um conjunto de atributos que contm valores com o mesmo
domnio de um conjunto de atributos que formam a chave primria de uma outra tabela.

3.7- INTEGRIDADE REFERENCIAL

Pgina 23 de 37
______________________________________________________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: uma tabela contm uma chave estrangeira, ento o valor dessa
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 NomeFunc DtAdmiss Sexo CdCargo CodDep


o to
101 Luis Sampaio 10/08/2003 M C3 D5
104 Carlos Pereira 02/08/2004 M C4 D6
134 Jos Alves 23/03/2002 M C5 D1
121 Luiz Paulo Souza 10/05/2001 M C3 D5
123 Pedro Sergio Doto 29/01/2003 M C1 Nulo
115 Roberto Fernandes 15/06/2002 M C3 D5
22 Sergio Nogueira 10/10/2000 M C2 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 Definio
Deleo Restrita 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
de referncias do banco de dados seriam excluir todos os
filhos em cascata, fazendo com que todos os funcionrios
referenciem um departamento-padro ou fazer com que
todos os funcionrios fiquem sem departamento.
Incluso e Linha Restrita Ao inserir um funcionrio, caso seja obrigatrio que ele j
possua departamento associado, verifica se ele est
relacionado a um departamento existente na tabela
Departamento, seno impede a operao.
Atualizao e Linha Ao atualizar a chave estrangeira de uma tabela, verifica se
Restrita existe uma linha da tabela associada que possua como
chave primria o novo valor da chave estrangeira, seno
impede essa operao. A opo cascata sempre perigosa
de ser utilizada em banco de dados, pois existe o risco de
perder todos os dados existentes em uma determinada
tabela se optar por apagar as suas linhas que esto
associadas a uma determinada linha que ser deletada da
tabela que possui a chave primria referenciada.

Exemplo

Vamos fazer uma simulao de tabelas. Suponha que nossa tabela tenha somente os
funcionrios do departamento de vendas (D5).

Funcionrio
NumReg NomeFunc DtAdmiss Sexo CdCargo CodDep
o to
101 Luis Sampaio 10/08/2003 M C3 D5
104 Carlos Pereira 02/08/2004 M C4 D6
134 Jos Alves 23/03/2002 M C5 D1
121 Luiz Paulo Souza 10/05/2001 M C3 D5
123 Pedro Sergio Doto 29/01/2003 M Nulo D3
115 Roberto Fernandes 15/06/2002 M C3 D5
22 Sergio Nogueira 10/10/2000 M C2 D4

Departamento
CodDep NumDepto RamalT
to el
D1 Assist. 2246
Tcnica
D2 Estoque 2589
D3 Administra 2772
o
D4 Segurana 1810
D5 Vendas 2599
D6 Cobrana 2688

Se estabelecemos para a tabela Departamento a regra de cascata, ento se


apagarmos (deletar) a linha cuja chave primria =D5, o resultado ser a tabela
funcionrio como apresentada em seguida:

NumReg NomeFunc DtAdmiss Sexo CdCargo CodDep


o 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 NomeFunc DtAdmiss Sexo CdCargo CodDep


o to
101 Luis Sampaio 10/08/2003 M C3 D5
104 Carlos Pereira 02/08/2004 M C4 D6
134 Jos Alves 23/03/2002 M C5 D1
121 Luiz Paulo Souza 10/05/2001 M C3 D5
123 Pedro Sergio Doto 29/01/2003 M Nulo D3
115 Roberto Fernandes 15/06/2002 M C3 D5
22 Sergio Nogueira 10/10/2000 M C2 D4

Se executarmos a mesma operao de deleo da linha relativa a Departamento


de Vendas (D5).

Essa tabela perder todas as linhas que estavam associadas pelo valor de chave
estrangeira =D5, perdendo os dados de alguns funcionrios:

Funcionrio
NumReg NomeFunc DtAdmiss Sexo CdCargo CodDep
o to
104 Carlos Pereira 02/08/2004 M C4 D6
134 Jos Alves 23/03/2002 M C5 D1
123 Pedro Sergio Doto 29/01/2003 M Nulo D3
22 Sergio Nogueira 10/10/2000 M C2 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, interessam-
nos 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

Como dito acima, cada retngulo, cada entidade representa um conjunto de


objetos sobre os quais deseja-se guardar informaes. Assim, no exemplo acima, o
primeiro retngulo designa o conjunto de todas as pessoas sobre as quais se deseja
manter informaes do banco de dados, enquanto o segundo retngulo designa o
conjunto de todos os departamentos sobre os quais se deseja manter informaes. Caso
seja necessrio referir um objeto particular (uma determinada pessoa ou um determinado
departamento) fala-se em ocorrncia de entidade. Mas recentemente, por influncia da
programao orientada a objetos, usa-se instncia.

Da forma como est apresentado, o modelo do exemplo acima indica apenas quais
os conjuntos de objetos sobre os quais deseja-se manter informaes, mas no quais as
informaes que devem ser mantidas para cada objeto. Estas informaes so definidas
pelas propriedades das entidades, dadas pelos relacionamentos, atributos e
generalizaes/especializaes (este ltimo s veremos na disciplina Modelagem de
Dados 2).

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
Pgina 27entre
de 37 ocorrncias de
entidades
______________________________________________________Modelagem de Dados 1

Em um DER, um relacionamento representado atravs de um losngulo, ligado


por linhas aos retngulos representativos das entidades que participam do
relacionamento. O exemplo abaixo, apresenta um DER contendo duas entidades, PESSOA
e DEPARTAMENTO, e um relacionamento, LOTAO.

Departamento Lotao Pessoa

Este modelo expressa que o bando de dados mantm informaes sobre:

Um conjunto de objetos classificados como pessoas (entidade PESSOA);


Um conjunto de objetos classificados como departamento (entidade
DEPARTAMENTO); e,
Um conjunto de associaes, cada uma ligando um departamento a uma pessoa
(relacionamento LOTAO).

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

No caso do relacionamento de casamento, uma ocorrncia de pessoa exerce o


papel de marido e a outra ocorrncia de pessoa exerce o papel de esposa. Papis so
anotados no DER como mostrado no exemplo anterior. No caso de relacionamentos entre
entidades diferentes, no caso de LOTAO, no necessrio indicar papis das
entidades, j que eles so bvios.

4.2.2- CARDINALIDADE DE RELACIONAMENTOS


Pgina 28 de 37
______________________________________________________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.

Cardinalidade (mnima,mxima) de entidade em


relacionamento
=
Nmero(mnimo,mximo) de ocorrncias de
entidade associadas a uma ocorrncia da entidade

4.2.3- CARDINALIDADE MXIMA


Para exemplificar o conceito de cardinalidade, vamos considerar as cardinalidades
mximas do exemplo abaixo:

1 120

Departamento Lotao Pessoa

Entidade EMPREGADO tem cardinalidade, mxima 1 no relacionamento LOTAO.


Isso significa que uma ocorrncia de EMPREGADO pode estar associado a no
mximo uma ocorrncia de DEPARTAMENTO ou, em outros termos, que um
empregado pode estar lotado em no mximo um departamento.

Entidade DEPARTAMENTO tem cardinalidade mxima 120 no relacionamento


LOTAO. Isso significa que uma ocorrncia de DEPARTAMENTO pode estar
associado a no mximo 120 ocorrncias de EMPREGADO ou, em outros termos,
que um departamento pode ter nele lotado no mximo 120 empregados.

Para o projeto de banco de dados, especialmente de banco de dados relacionais,


no necessrio distinguir entre diferentes cardinalidades mximas maiores que um. Por
este motivo, apenas duas cardinalidades mximas so geralmente consideradas:

A cardinalidade mxima um (1) e;


A cardinalidade mxima ilimitada, usualmente chamada de cardinalidade mxima
muitos e referida pela letra n.

Assim no exemplo acima, diz-se que a cardinalidade mxima da entidade


DEPARTAMENTO no relacionamento LOTAO n.

Em um DER, a cardinalidade mxima representada conforme o exemplo anterior


modificado. Observe a conveno usada. primeira vista, ela pode parecer pouco
natural, j que a cardinalidade vai anotada do outro lado do relacionamento ao qual se
refere. Exemplificando, a cardinalidade mxima da entidade EMPREGADO no
relacionamento lotao anotada junto ao smbolo da entidade DEPARTAMENTO.

Expressa que a uma ocorrncia de


Departamento (entidade do lado
oposto da anotao) podem estar
associadas muitas (n) ocorrncias
de Empregado
Pgina 29 de 37
______________________________________________________Modelagem de Dados 1

1 n

Departamento Lotao Pessoa

Expressa que a uma ocorrncia de


Empregado (entidade do lado
oposto da anotao) podem estar
associada a no mximo uma (1)
ocorrncia de Empregado

Classificao de Relacionamentos Binrios


A cardinalidade mxima pode ser usada para classificar relacionamentos binrios.
Uma relacionamento binrio aquele cujas ocorrncias contm duas ocorrncias de
entidade como todos vistos at aqui. Podemos classificar os relacionamentos binrios em
n:n, 1:n e 1:1.

A seguir apresentamos alguns exemplos de relacionamentos binrios.

Pessoa

marido esposa

1 1

Casamento

1 1

Empregado Alocao Mesa

n 1

Aluno Inscrio Curso

1 n

Empregado Inscrio Dependente

Pgina 30 de 37
______________________________________________________Modelagem de Dados 1

Empregado

supervisor supervisionado

1 n

Supervisiona

n n

Engenheiro Alocao Projeto

n n

Mdico Consulta Paciente

n n

Pea Capacidade Fornecedor

Produto

componente composto

n n

Composio

4.2.5- CARDINALIDADE MNIMA


Alm da cardinalidade mxima, outra informao que pode ser representada p
um modelo ER o nmero mnimo de ocorrncias de entidades associadas a uma
ocorrncia de uma entidade atravs de um relacionamento. Para fins de projeto de banco
de dados, consideram-se apenas duas cardinalidades mnimas: a cardinalidade mnima 0
e a cardinalidade mnima 1.

A cardinalidade mnima 1 tambm recebe a denominao de associao


obrigatria, j que ela indica que o relacionamento deve obrigatoriamente associar uma
ocorrncia da entidade em questo. Com base na mesma linha da raciocnio, a
cardinalidade mnima, o recebe a denominao associao opcional.

Pgina 31 de 37
______________________________________________________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

Na prtica, muitas vezes os atributos no so representados graficamente, para


no sobrecarregar os diagramas, j que entidades podem possuir um grande nmero de
atributos. Prefere-se usar uma representao textual que aparece separadamente do
diagrama ER.

Um atributo pode possuir uma cardinalidade, de maneira anloga, a uma entidade


em um relacionamento. A cardinalidade de um atributo define quantos valores deste
atributo podem estar associados a uma ocorrncia de entidade/relacionamento a qual ele
pertence. A representao grfica da cardinalidade de atributos derivada da
representao da cardinalidade de entidades em relacionamentos, conforme o exemplo
abaixo.

nome
Cliente 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) (0,n)

Engenheiro Atuao Projeto

cdigo funo ttulo


nome cdigo

Esta funo no pode ser considerada atributo de ENGENHEIRO, j que um


engenheiro pode atuar em diversos projetos, exercendo diferentes funes. Tambm,
no atributo de PROJETO, j que, em um projeto, podem atuar diversos engenheiros
com funes diferentes.

Outro exemplo de atributo em relacionamento, agora em um relacionamento 1:n,


mostrado abaixo. Este diagrama modela vendas a prazo que so relacionadas a uma
financeira, atravs do relacionamento FINANCIAMENTO. Os atributos nmero de parcelas
e taxa de juros so atributos do relacionamento. Estes dois atributos poderiam ter sido
includos na entidade VENDA. Neste caso, seriam atributos opcionais, j que nem toda
venda a prazo e possui estes atributos. Assim, preferiu-se usar o modelo do exemplo,
exatamente para explicar o fato de os atributos nmero de parcelas e taxa de juros
pertencerem somente a vendas a prazo.

(0,1) (0,n)

Financeira Financiamento Venda

taxa de juros

4.4.1- IDENTIFICANDO ENTIDADES


Cada entidade deve possuir um identificador.

Identificador de entidade
=
Conjunto de um ou mais atributos e relacionamentos cujos
valores
O caso maisservem
simplespara
odistinguir umaque
da entidade ocorrncia da entidade
possui um nico atributo como
das atributos
identificador. No DER, demais ocorrncias daso
identificadores mesma entidadepor um crculo preto.
representados
No exemplo abaixo, o atributo cdigo identificador. Isso significa que cada pessoa
possui um cdigo diferente. J os atributos nome e endereo no so identificadores o
mesmo nome (ou o mesmo endereo) pode ser associado a pessoas diferentes.

Pgina 33 de 37
______________________________________________________Modelagem de Dados 1

Pessoa cdigo
endereo

O exemplo abaixo apresenta o identificador da entidade composto por dois


atributos. Considera-se um almoxarifado de uma empresa de ferragens organizado como
segue. Os produtos ficam armazenados em prateleiras. Estas prateleiras encontram-se
em armrios organizados em corredores. Os corredores so numerados sequencialmente
a partir de um e as prateleiras so numeradas sequencialmente a partir de um, dentro de
um corredor. Assim, para identificar uma prateleira necessrio conhecer seu nmero e
o nmero do corredor em que se encontra. Para cada prateleira deseja-se saber sua
capacidade em metros cbicos.

nmero do corredor
Pessoa nmero da prateleira
capacidade

Finalmente, h casos em que o identificador de uma entidade composto no


somente por atributos da prpria entidade, mas tambm por relacionamentos dos quais a
entidade participa (relacionamento identificador). Um exemplo deste caso mostrado
abaixo. Este modelo envolve empregados de uma organizao, relacionados com seus
dependentes para fins de imposto de renda. Cada dependente est relacionado a
exatamente um empregado. Um dependente identificado pelo empregado ao qual ele
est relacionado e por um nmero de sequncia que distingue os diferentes dependentes
de um mesmo empregado. No DER, o relacionamento usado como identificador
indicado por uma linha mais densa.

(1,1) (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:

O identificador dever mnimo. Isso significa que o identificador de uma entidade


deve ser composto de tal forma que retirando um dos atributos ou
relacionamentos que o compes, ele deixa de ser identificador na entidade
PESSOA, do exemplo abaixo, o par cdigo e nome poderia ser usado para
distinguir uma ocorrncia de PESSOA das demais. Entretanto, estes atributos no
formam um identificador mnimo, j que cdigo suficiente para distinguir as
ocorrncias de PESSOA.

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

4.4.2- IDENTIFICANDO RELACIONAMENTO


Em princpio, uma ocorrncia de relacionamento diferencia-se das demais
ocorrncias do mesmo relacionamento pelas ocorrncias de entidades que dela
participam. Exemplificando, uma ocorrncia de ALOCAO (exemplo abaixo)
identificada pela ocorrncia de ENGENHEIRO e pela ocorrncia de PROJETO que ela
relaciona. Em outros termos, para cada par (engenheiro, projeto) h no mximo um
relacionamento de alocao.
Pgina 35 de 37
______________________________________________________Modelagem de Dados 1

n n

Engenheiro Alocao Projeto

Entretanto, h casos nos quais entre as mesmas ocorrncias de entidade podem


existir diversas ocorrncias de relacionamentos. Um exemplo o relacionamento
CONSULTA entre as entidades MDICO e PACIENTE, abaixo. Para um determinado mdico
e um determinado paciente pode haver diversas consultas. Neste caso, necessrio algo
que distinga uma consulta entre um mdico e seu paciente das demais consultas entre
este mdico e este paciente. A diferenciao ocorre atravs de atributos identificadores
de relacionamentos. No caso do relacionamento pode ser data/hora.

n n

Mdico Consulta Paciente

data/hora

Assim, um relacionamento identificado pelas entidades dele participantes, bem


como pelos atributos identificadores eventualmente definidos.

BIBLIOGRAFIA
Pgina 36 de 37
______________________________________________________Modelagem de Dados 1

Date, C. J. Introduo a Sistemas de Banco de Dados. Editora Campus, 8 edio,


2004, RJ
HEUSER, Carlos Alberto. Projeto de Banco de Dados. Editora Bookman, 6 edio,
2009, SP.
MACHADO, Felipe Nery Rodrigues. Banco de Dados: Projeto e Implementao.
Editora rica, 2 edio, 2008, SP.
MEDEIROS, Marcelo. Banco de Dados para Sistemas de Informao. Editora Visual
Books, 1 edio, 2006, SC.
MECENAS, Ivan & OLIVEIRA, Viviane de. Banco de Dados: do modelo conceitual
implementao. Editora Alta Books, 1 edio, 2005, RJ.

Pgina 37 de 37

Você também pode gostar