Buscar

Modelagem de dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 6 páginas

Prévia do material em texto

01/03/2016 Modelagem de dados
file:///D:/Apoio%20diversos/Curso%20Ciencia%20da%20Computa%C3%A7%C3%A3o%20Superior%20completo/Modelagem%20de%20Dados/Banco%… 1/6
  Introdução - Objetivo dos SGBD's
Um sistema de gerenciamento de bancos de dados (SGBD) consiste numa coleção de dados inter­
relacionados e um conjunto de programas para acessar estes dados. Normalmente o banco de
dados é conhecido como Back­end e as aplicações são conhecidas como Front­ends. O principal
objetivo de um SGBD é proporcionar um ambiente, conveniente e eficiente, para retirar e
armazenar informação no banco de dados.
São objetivos de um SGBD:
. Evitar a redundância e inconsistência dos dados; 
. Facilitar o acesso e evitar o isolamento dos dados; 
. Possibilitar o acesso em sistemas multi­usuários; 
. Garantir a segurança e a integridade dos dados.
Todos estes objetivos são, na verdade, características nativas da maioria dos SGBD's disponíveis
no mercado, o que isenta ao programador a tarefa de escrever código que os garanta.
  Abstração de Dados
A Abstração de Dados ocorre quando um sistema de banco de dados tem meios de proporcionar
ao seu usuário uma visão abstrata dos dados que contém. Ou seja, o sistema esconde do usuário
alguns detalhes sobre como os dados são armazenados, recuperados ou mantidos.
O SGBD tem uma preocupação com eficiência, que é conseguida através do uso de estruturas
complexas de armazenamento de informação. Mas esta complexidade não é visível aos usuário
dos bancos de dados. Os sistemas de gerenciamento de bancos de dados oferecem aos usuários
vários níveis de abstração:
Nível Físico
Este é o nível mais baixo de abstração, no qual se descreve como os dados são armazenados. As
estruturas de armazenamento de informação que o SGBD usa são descritas neste nível. O nível
físico depende fortemente do SGBD escolhido.
Nível Lógico 
Neste nível se descreve quais os dados serão armazenados e os relacionamentos entre eles. Não
existe a preocupação de como os dados serão armazenados. O nível lógico não depende do SGBD
a ser escolhido mas sim da classe do SGBD.
Nível Conceitual e Nível Visão 
O nível conceitual oferece uma visão mais comportamental do banco de dados, mais próxima do
mundo real. Em outras palavras, a preocupação maior é enxergar as estruturas de dados como
representações do mundo real. O nível conceitual independe da classe ou SGBD escolhidos. O
nível visão pretende simplificar o acesso ao banco de dados por usuários que têm necessidade de
apenas parte do banco de dados. É possível definir várias visões do banco de dados, de acordo
com as necessidades dos usuários.
  Modelo de Dados
Modelo de dados é uma forma de definir um banco de dados através de ferramentas conceituais,
relacionamentos entre dados, semântica e restrições. Existem vários modelos de dados a serem
01/03/2016 Modelagem de dados
file:///D:/Apoio%20diversos/Curso%20Ciencia%20da%20Computa%C3%A7%C3%A3o%20Superior%20completo/Modelagem%20de%20Dados/Banco%… 2/6
utilizados em diferentes SGBD´s e níveis de abstração.
Nos níveis conceitual e visão o mais importante modelo é o Entidade­Relacionamento.
No nível lógico, são três os modelos mais importantes, o Relacional, o Modelo de Rede e o
Hierárquico. Atualmente, o modelo relacional é o mais usado.
Modelos, em nível físico, representam aspectos da implementação de bancos de dados nos
SGBD's.
Esquema do Banco de Dados
É chamada de esquema do banco de dados a representação de um banco de dados em um modelos
de dados. 
Temos o esquema conceitual do banco de dados, o seu esquema lógico e físico e podemos vários
subesquemas, representando as visões dos usuários. 
Independência de Dados
A independência de dados é entendida como sendo a capacidade de modificar uma definição de
esquema do banco de dados em um nível de abstração sem afetar a definição de esquema em um
nível mais alto. Por exemplo: um sistema que tem independência de dados física permite que se
altere o esquema físico (rotinas de armazenamento e acesso aos dados) sem se ter que mexer nos
programas de aplicação.
  Modelo Entidade-Relacionamento
O Modelo Entidade­Relacionamento é o modelo mais usado para representação de
bancos de dados em nível conceitual. Tem como característica principal a facilidade
de projetar esquemas de bancos de dados.
Este modelo baseia­se na representação do sistema por um conjunto de objetos do
mundo real (entidades) e por relacionamentos entre estes objetos.
Obs: Ainda não existe um SGBD que utiliza este modelo como forma de
representação de bancos de dados, mas o modelo é uma, se não a mais, poderosa
ferramenta de projeto de banco de dados. 
Diagrama Entidade­Relacionamento (DER)
O Diagrama Entidade­Relacionamento, ou simplesmente DER, é a simbologia usada
para representação do esquema do banco de dados no modelo Entidade­
Relacionamento. Representa uma poderosa ferramenta de projeto. 
A maioria das ferramentas CASE adotam este diagrama, mas existem variações de
simbologia. Seguiremos aqui a simbologia sugerida por Peter Chen.
O DER é uma ferramenta muito útil na modelagem de sistemas e se destina a
representar os dados do sistema e os relacionamentos entre eles. Há opções para se
adequar o DER às mais diversas situações. 
  Entidade
01/03/2016 Modelagem de dados
file:///D:/Apoio%20diversos/Curso%20Ciencia%20da%20Computa%C3%A7%C3%A3o%20Superior%20completo/Modelagem%20de%20Dados/Banco%… 3/6
Entidade é um objeto que existe e é distinguível de outros objetos. Uma entidade pode ser
concreta (como professor, empregado, etc.), abstrata (curso, disciplina, etc.) ou um conceito
(curricular, extracurricular, optativa).
Conjunto de entidades é um grupo de entidades afins, e uma ocorrência da entidade é um objeto
pertencente a este conjunto de entidades. 
Por exemplo, MATEMÁTICA é uma ocorrência do conjunto de entidades Disciplina.
Um conjunto de entidades, que passaremos a chamar apenas de entidade, é representado, no DER,
por um retângulo:
Atributo
Atributos são qualificadores das entidades. São dados que caracterizam ou identificam uma
entidade. 
Por exemplo, Nome e Número de Matrícula são atributos da entidade Aluno.
Atributo Multivalorado
Atributos multivalorados são aqueles que podem ocorrer mais de uma vez para uma mesma
entidade. Se definirmos que Telefone é um atributo multivalorado da entidade Cliente, será
possível indicar um ou vários telefones para os clientes.
Chave 
Chave, ou atributos­chave, é o conjunto de atributos que identifica unicamente uma entidade no
conjunto de entidades.
Por exemplo, o atributo Número da Matrícula identifica univocamente uma aluno.
Entidade Forte ou Dominante
Entidade cuja existência independe de outras entidades, podendo, esta, determinar a existência de
entidades que a ela são subordinadas. Podem ser identificadas univocamente por atributos
próprios.
Entidade Fraca ou Subordinada
Uma entidade fraca é existencialmente dependente de outra. Ou seja, se a entidade de que
depende deixa de existir, esta também o faz. Um exemplo claro é a relação entre as entidades
Cliente (dominante) e Dependente (subordinada).
Estas entidades não podem ser identificadas apenas por seus atributos; a chave destas entidades é
composta da chave da entidade forte e de um ou mais atributos próprios da entidade fraca
(chamados de discriminadores). 
No DER, são representadas por um retângulo de bordas duplas. 
No exemplo a seguir, entidade Dependente é uma entidade fraca pois está subordinada à
existência de SÓCIO.
Uma entidade fraca está sempre associada a uma entidade forte através de um relacionamento
chamado de Relacionamento de Dependência.
01/03/2016 Modelagem de dados
file:///D:/Apoio%20diversos/Curso%20Ciencia%20da%20Computa%C3%A7%C3%A3o%20Superior%20completo/Modelagem%20de%20Dados/Banco%… 4/6
  Relacionamento
Um relacionamento é umaassociação entre entidades (possivelmente distintas). 
Por exemplo, as entidades Aluno e Curso têm uma relação, num sistema de registro escolar.
No DER, um relacionamento é representado por um losango ligado às entidades participantes.
Pode haver um relacionamento entre ocorrências de uma mesma entidade. Tal relacionamento
recebe o nome Auto­Relacionamento.
Grau do Relacionamento
O grau de um relacionamento é o número de entidades que participam do relacionamento. 
Por exemplo, o relacionamento Matricula­se em mostrado no exemplo anterior é um
relacionamento binário ou relacionamento de grau dois.
O grau de um relacionamento, na prática, nunca ultrapassa 4 ou 5.
Cardinalidade
A cardinalidade expressa o número máximo de entidades de um dado conjunto de entidades que
pode se relacionar, através de um relacionamento, com uma ocorrência das outras entidades
participantes.
Por exemplo, um Aluno só pode estar matriculado em um único Curso. Por sua vez, um Curso
pode ter vários alunos matriculados. Logo o relacionamento entre Aluno e Curso é 1:N (leia­se
um para muitos).
A cardinalidade de um relacionamento binário, por exemplo, pode ser 1:1,1:N, N:1 ou N:N.
No DER, a cardinalidade é representada por setas simples ou duplas. Setas simples indicam
cardinalidade 1 enquanto setas duplas indicam cardinalidade N. 
A seguir, temos um exemplo de um relacionamento com cardinalidade N­1.
Totalidade
Totalidade é uma restrição de obrigatoriedade, de uma entidade, na participação de um
relacionamento.
Por exemplo, se um aluno deve, obrigatoriamente, estar matriculado em algum Curso, então diz­
se que a entidade Aluno é Total em relação ao relacionamento Matricula­se Em.
No DER, a totalidade é representada pelo círculo cheio .
  Projeto de Banco de Dados
A Importância da Fase de Projeto
Os erros de projeto são os mais freqüentes em grandes projetos e os mais difíceis de
serem corrigidos. 
01/03/2016 Modelagem de dados
file:///D:/Apoio%20diversos/Curso%20Ciencia%20da%20Computa%C3%A7%C3%A3o%20Superior%20completo/Modelagem%20de%20Dados/Banco%… 5/6
Descobrir um erro de concepção do banco de dados, depois de o sistema estar quase
pronto, ou depois de descritas suas rotinas, representará refazer grande parte do
trabalho. Se o sistema já estiver em operação, o esforço será ainda maior, pois
existirá uma preocupação a mais: manter os dados do usuário.
Um bom projeto significará maior chance de os possíveis problemas serem
detectados logo no início do desenvolvimento e de o sistema se tornar, depois de
pronto, o desejado pelo cliente. O projeto leva o desenvolvedor a uma melhor análise
de requisitos do sistema e dos dados que ele deve armazenar.
Um bom projeto melhora a legibilidade, a confiabilidade, diminui o custo de
desenvolvimento de um software e aumenta a satisfação de seus usuários.
Projeto em Nível Conceitual
Criar o esquema do banco de dados em nível conceitual é uma poderosa ferramenta
de projeto. Permite uma visão geral do banco de dados, sem se preocupar com
detalhes, facilitando sua compreensão. O Diagrama Entidade­Relacionamento é uma
representação consagrada.
Nesta fase, é possível definir quais os componentes ou objetos serão representados,
quais os seus inter­relacionamentos e como se comportarão no sistema.
O projetista poderá prever possíveis situações não cobertas pelo esquema de banco de
dados projetado e ir alterando­o até que se encontre uma representação o mais estável
possível.
Após esta primeira etapa de projeto, o projetista terá em mãos uma planta do banco
de dados. Detalhá­la será o próximo passo do projeto, que será dado através da
transposição do esquema em nível conceitual para o nível lógico, dando continuidade
ao projeto.
Projeto em Nível Lógico
Alguns profissionais começam o projeto por aqui. Mas, a menos que o banco de
dados seja muito pequeno, não representa uma boa prática saltar a fase de projeto
conceitual. O projeto lógico deve ser uma etapa de refinamento e detalhamento do
projeto a partir do modelo conceitual.
No esquema do banco de dados, em nível lógico, modelamos o esqueleto do banco de
dados. Nós nos concentramos nos detalhes das informações que serão armazenadas e
chegamos à definição das estruturas necessárias para armazená­las.
Este trabalho será bem menor, talvez inexistente (no caso de usarmos uma ferramenta
CASE), se já tivermos feito um bom projeto em nível conceitual. O nível lógico é
obtido, a partir do projeto conceitual, através da operação de transposição (aplicação
de um conjunto de regras de mapeamento do projeto conceitual para o projeto
lógico).
De posse do projeto lógico, bastará implementar o banco de dados no SGBD
escolhido.
Projeto em Nível Conceitual versus Projeto em Nível Lógico
O projeto conceitual dá uma visão geral dos dados e dos relacionamentos entre eles,
mas não entra em muitos detalhes na forma de implementação. Estes detalhes são
01/03/2016 Modelagem de dados
file:///D:/Apoio%20diversos/Curso%20Ciencia%20da%20Computa%C3%A7%C3%A3o%20Superior%20completo/Modelagem%20de%20Dados/Banco%… 6/6
tratados no projeto lógico, que descreve, com precisão, as estruturas de dados do
banco, mas que, por ser mais preciso, dificulta uma visão mais geral dos dados.
O projeto conceitual pode ser usado para incrementar a comunicação entre o
projetista e o usuário que requisitou o sistema. Sistemas complexos podem ser
modelados em diagramas simples, de fácil entendimento e grande representatividade.
Baseado neste projeto, analistas e usuários vão acertando detalhes e amadurecendo a
concepção do sistema. O projeto lógico pode ser usado como base para descrever as
rotinas do sistema e será objeto de muita análise e discussão entre os membros da
equipe de desenvolvimento (muitos geradores automáticos de aplicações geram
código a partir do projeto lógico).
Um bom projeto de banco de dados passa, necessariamente, pelos projetos conceitual
e lógico.

Outros materiais