UC –Projeto de Banco de Dados

Propaganda
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Roteiro 3 – Modelagem relacional
Objetivos:
•
Explorar conceitos sobre:
o Modelagem de bancos de dados – projetos: conceitual, lógico e físico;
o Conceitos sobre o modelo relacional: tuplas, atributo, entidades, relacionamentos;
Ferramentas necessárias
Navegador, Dia, Bibliografias de livros da faculdade.
Introdução
Este roteiro tem como objetivo explorar as propriedades da elaboração de modelagens para bancos de dados baseados no
esquema relacional. Serão exploradas as propriedades de relacionamentos voltados para as situação 1:1, 1:N e N:N, com
maior foco nestes dois últimos.
Quando é realizada uma atividade de levantamento de dados, estamos efetivamente identificando entidades ou classes de
dados. Em um contexto não conhecido de negócio é comum o analista ter dificuldade em determinar quais são as entidades
componentes do sistema proposto. É comum então, ao tentar efetivar uma modelagem de um sistema, o projetista do banco
tentar encontrar qual será a principal entidade de um sistema, logo é necessário utilizarmos alguns recursos:
•
Em uma modelagem de um banco de dados para uma clínica médica, a entidade médico é na realidade uma
generalização para diversas classes de médicos como pediatras, cardiologistas, neurologista, etc.
Desta forma, se fosse analisado superficialmente, seria possível definir entidades para cada uma destas classes de dados.
Figura 1 - Generalização da Classe Médico
Como regra geral, quando forem encontradas entidades que possuem o mesmo conjunto de atributos para descrevê-las,
podemos generalizá-las em uma única entidade, mantendo sua identidade de subconjunto através da inserção de um atributo
qualificador para as ocorrências de cada uma.
Especialização: Quando visualizarmos a qualificação por atributos que permitirá identificar um grupo, uma classe dentro da
classe genérica é denominada de Especialização. A Visão de Dados na especialização é a definição de um subconjunto
pertinente a uma entidade através da representação efetiva no diagrama de entidades e relacionamentos, de forma a permitir o
entendimento da formação dos dados existentes na realidade. Naturalmente os subgrupos que foram identificados gerarão
sempre um atributo que qualificará a todos (Generalização), e caso fosse aplicado de forma inversa em uma locadora de
filmes, teríamos a seguinte descrição:
P á g | 19
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Generalização: Consiste em uma abstração de um conjunto de componentes, ou seja, utilizar uma classe genérica de dados
que pode estar incorporando implicitamente diversas outras classes de dados. Ex:
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Figura 2 - Especialização Locadora de Filmes
OBSERVAÇÃO: É necessário estar atento ao executar o projeto conceitual, pois existem casos em que teremos entidades
diversas com nomes distintos, mas que na realidade podem ser generalizadas em uma única, já que conceitualmente refere-se
a um macro objeto, que por generalização pode absorvê-las integralmente.
Exemplos:
Itens
Generalização
Sorvete de limão, maracujá, chocolate, morango, etc
Pedido suspenso, pedido atendido, pedido pendente
Aluno suspenso, aluno trancado, aluno concluído
Sabor
Pedido
Situação
Um relacionamento consiste em um conjunto de associações entre entidades. Um relacionamento é expresso com uso de
um verbo que possa identificar a relação entre as duas entidades. Possuem a sua representação com as entidades em um
losango, seus atributos com uma elipse e com arestas ligando as entidades a este losango (que é o próprio
relacionamento). No interior do losango é inserido um verbo que explicite o fato (o evento) que é o relacionamento.
Figura 3 - Componentes de um E-R
Exemplos:
•
Pessoas moram em apartamentos;
•
Os apartamentos formam condomínios;
•
Os condomínios localizam-se em ruas, ou avenidas;
•
As avenidas e ruas estão em uma cidade;
Estes relacionamentos poderiam ser expressos pelo diagrama a seguir:
P á g | 20
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Relacionamentos
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Figura 4 - Relacionamentos sendo expressos
Um conjunto de relacionamentos é uma coleção de ocorrências das entidades relacionadas e o verbo que é utilizado
interno ao losango dá a semântica (real significado) ao relacionamento que será efetuado. Os relacionamentos possuem dois
grandes grupos, divididos em:
Relacionamentos Incondicionais: relacionamentos que não possuem condição caracterizam-se por serem obrigatórios, ou
seja, todos os elementos de uma entidade estão obrigatoriamente relacionados com um elemento, no mínimo, da outra
entidade. Vejamos alguns exemplos:
Figura 5 - Representação de Relacionamentos
Grau do Relacionamento (Cardinalidade)
Consiste no número de ocorrências de uma entidade que está associada com ocorrências de outra entidade. Podemos
ter três situações de graus de relacionamentos, descritas a seguir:
Relacionamento de Um-para-Um: Neste grau de relacionamento, cada elemento de uma entidade relaciona-se com um e
somente um elemento de outra entidade. O relacionamento deve ser lido nos dois sentidos em que ele se efetua. Logo teremos
no caso de uma entidade apenas uma única relação nos dois sentidos.
Relacionamento de Um-para-Muitos: É o mais comum no mundo real, sendo o que denominamos de relacionamento básico
entre entidades, entretanto possui características específicas, quanto ao sentido de leitura dos fatos e sua interpretação. Um
elemento da entidade A relaciona-se com muitos elementos da entidade B, mas cada elemento da entidade B somente
pode estar relacionado a um elemento da entidade A.
OBSERVAÇÃO: Este tipo de relacionamento pode causar dúvidas quanto à sua interpretação, pois quando lido nos dois
sentidos resultará em um relacionamento de cardinalidade 1:1. Por isto, como regra geral deve se tomar que um
P á g | 21
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Relacionamentos Condicionais: relacionamentos que possuem uma condição, uma qualificação para ocorrerem. Sejam dois
elementos A e B, podemos afirmar que nem todos os elementos de uma entidade A estão ligados com elementos da entidade
B.
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
relacionamento é do tipo Um-para-Muitos quando um sentido de leitura dos fatos nos apresenta este grau e o sentido oposto
apresenta obrigatoriamente o grau Um-para-Um, ex:
Observando o gráfico acima, lemos:
Um departamento lota um ou vários funcionários.
Um funcionário lota somente um departamento.
Relacionamento de Muitos-para-Muitos: Este tipo de relacionamento ocorre quando uma entidade A está associada a
qualquer quantidade de entidades de B e uma entidade de B está associada a qualquer quantidade de entidades de A.
Ex: Seja uma Entidade estudante e uma entidade Unidade Curricular, podemos visualizar a associação com o relacionamento
Cursa.
Analisando este relacionamento: Um estudante cursa várias unidades, mas alguns estudantes temporariamente podem
estar cursando somente uma, ou nenhuma unidade. Uma unidade é cursada por vários estudantes, mas eventualmente
podemos ter uma unidade que não possua nenhum estudante cursando-a, ou somente um. Neste caso, por haver
opcionalidades, caracteriza um relacionamento condicional.
O tipo de relacionamento do exemplo anterior caracteriza-se com um aspecto bastante peculiar, o mesmo possui atributos.
Isto quer dizer que o relacionamento possui dados que são inerentes ao fato e não às entidades. É apresentado a seguir a
estrutura das entidades envolvidas, e os atributos que são inerentes ao próprio relacionamento, ou seja, identificam ou
qualificam o relacionamento:
ENTIDADE
Estudante
Unidade
RELACIONAMENTO
Cursa
ATRIBUTOS
Nome do estudante
Matrícula do estudante
Código da Unidade
Nome da Unidade
RELACIONAMENTOS
Com Unidade 1:N
Com Estudante 1:N
ATRIBUTOS
Data da Matrícula
Turma
P á g | 22
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Figura 6 - Diagrama E-R estudante
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Tarefas:
1.
Defina os seguintes termos:
Conceito
Descrição
Entidade
Atributo
Chave primária
Relacionamento
Generalização
Especialização
Execute as tarefas práticas a seguir:
Crie a modelagem conceitual da seguinte situação:
1)
2)
Elaborar uma modelagem de banco de dados para um supermercado que controle o estoque de produtos
existentes. A modelagem deve permitir que sejam controladas as seguintes características:
a.
A informação sobre o tipo de produto (eletrônicos, vestuário, laticínios, carnes, pães e massas, bebidas,
higiene, outros).
b.
A informação do fornecedor de cada produto e o preço de compra;
c.
A informação da nota-fiscal de compra dos produtos registrando o funcionário que recebeu a carga, data
e hora de recebimento e o número da nota;
Salvar o esquema de modelagem como roteiro3-modelagem-conceitual-supermercado;
3. Em seguida transforme a modelagem conceitual para a modelagem física utilizando o workbench e detalhando as
informações dos campos para armazenamento com o nome roteiro3-modelagem-fisica-supermercado ;
1)
Após concluir a modelagem faça a conexão ao banco de dados e aplique a forward-enginner;
2)
Salve também o arquivo .SQL gerado pelo workbench;
Referências
•
Capítulo 3: Elmasri, Navathe – Sistemas de banco de dados 6ª Edição;
•
Material disponibilizado em aula;
P á g | 23
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
2.
Download