1
Gerenciamento de Dados
Assunto 2. MODELAGEM DE DADOS
Consiste em mapear o mundo real do sistema em um modelo gráfico que irá
representar o modelo e o relacionamento existente entre os dados.
MODELO DE ENTIDADE-RELACIONAMENTO
 Principal ferramenta gráfica para representação do Modelo de Dados.
 Identifica entidades de dados e seus relacionamentos.
 É um modelo de dados cujos conceitos foram projetados para estar o mais
próximo possível da visão que o usuário tem dos dados.
 Não há preocupação em representar como os dados estarão armazenados.
 Utilizado durante o processo de projeto de banco de dados.
1. MINI MUNDO
Descrição formal da realidade a ser representada.
Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:
Cada aluno pertence a um curso, que por sua vez pode ter vários alunos. O curso
é armazenado por um código único e pelo seu nome. Os alunos são cadastrados
pela matrícula, nome e endereço. Não existem 2 alunos com a mesma matrícula.
Cada curso possui algumas disciplinas que são identificadas por um controle
único e pela sua descrição. A mesma disciplina pode ser lecionada em outros
cursos em dias diferentes. Cada professor pode ministrar mais de uma disciplina,
mas cada disciplina só pode ser lecionada por um único professor. CPF, nome e
telefone são os atributos de cada professor.
2. DIAGRAMA
Os objetos que compõem o diagrama ER estão listados a seguir:
ENTIDADE
ATRIBUTO
ATRIBUTO CHAVE
ENTIDADE
FRACA
RELACIONAMENTO
ATRIBUTO
COMPOSTO
1
1
R
N
E2
Taxa de Cardinalidade 1:N para E1:E2
2
 Composto por um conjunto de objetos gráficos que visa representar todos
os objetos do modelo Entidade-Relacionamento, tais como entidades,
atributos, atributos chaves e relacionamentos, etc.
 Apresenta uma visão lógica do banco de dados.
 Fornece um conceito mais generalizado de como estão estruturados os
dados de um sistema.
2.1. Entidade
Objeto ou evento básico do mundo real, concreto ou abstrato, que possui
existência independente, distintamente identificado e tratado como uma
categoria definida, acerca da qual armazenamos dados.
São entidades:
 Ente físico ou Jurídico (Funcionário, Cliente, Aluno, etc.);
 Documento (Nota Fiscal, Ordem de Serviço, etc.);
 Local (Departamento, Unidade, etc.);
 Histórico (Histórico Escolar, Vendas Acumuladas, etc.);
 Material (Matéria-prima, Produto, etc.).
Não são entidades:
 Entidade com apenas 1 elemento;
 Operações do sistema;
 Cargos de direção.
Instância de Entidade
São os elementos da entidade.
Exemplo: Cliente 10, Funcionário João, Aluno Pedro, etc.
Entidade de Dados (Supertipos)
Podem ser subdivididas em diversas categorias de elementos (Subtipos),
cada uma se caracterizando por atributos específicos.
Pessoa
Física
Jurídica
3
Entidades Fracas
Algumas entidades podem não ter um atributo chave por si só. Não poderemos
distinguir algumas entidades por que as combinações dos valores de seus
atributos podem ser idênticas. Essas entidades precisam estar relacionadas com
uma entidade do tipo entidade proprietária.
(entidade forte)
(entidade fraca)
Banco
Agência
2.2. Atributos
Dados elementares que permitem descrever a entidade ou relacionamento.
Informações que desejamos guardar sobre a instância de entidade.
Simples: são aqueles que possuem uma única opção. Ex: Identidade.
Determinante: garante a unicidade de cada ocorrência. Ex: Matrícula.
Composto: pode ser dividido em outros atributos.
Ex: Endereço – Rua + Número + Bairro + Cidade.
Multi-valorados: são aqueles que podem mais de uma opção. Usa-se um *.
Ex – Telefone - cada um pode ter mais de um telefone.
Representação Gráfica
O círculo preenchido representa a chave principal
Domínio
Conjunto ou universo de valores possíveis que um atributo pode armazenar.
Exemplo:
Conjunto de valores do atributo Sexo do funcionário: M ou F;
Conjunto de valores do atributo Nome do aluno: 40 caracteres.
Conjunto de valores do atributo Salário: inteiro maior que 5000
4
Tupla
É o elemento do conjunto de uma entidade. É uma estrutura de atributos
intimamente relacionados e interdependentes que residem em uma entidade
específica. É similar a um registro num arquivo comum.
Chave ou Identificador
É o atributo contido na tupla que a personaliza e individualiza.
Chave Primária
É o atributo ou grupamento de atributos cujo valor identifica unicamente
uma tupla dentre todas as outras de uma identidade.
Chave Candidata
É o atributo ou grupamento de atributos que tem a propriedade de
identificação única. Pode vir a ser a chave primária.
Chave Estrangeira
Atributo de uma entidade que é a chave primária de outra entidade.
Chave Composta ou Concatenada
É formada pelo grupamento de mais de um atributo.
2.3. Relacionamento
É a associação, com um significado, entre duas ou mais entidades.
Exemplo: O João está trabalhando no Aprovisionamento.
João - Elemento do conjunto de valores do atributo Nome do funcionário
da entidade Funcionário;
Aprovisionamento - Elemento do conjunto de valores do atributo Nome
do Setor da entidade Setor;
Trabalhando - Ligação existente entre um Funcionário e um Setor.
FUNCIONÁRIO
TRABALHA
SETOR
5
2.4. Cardinalidade
Representa a freqüência com que existe o relacionamento.
Representa a quantidade de elementos da entidade A associados a
quantidade de elementos da entidade B e vice-versa.
Ex.: 1 para 1
1 para N
N para 1
N para N
Relacionamento 1:1
Francisco é casado com a Maria.
Casado - Ligação entre um Homem e uma Mulher, sendo que um homem
pode ser casado com uma e apenas uma mulher, assim como, uma mulher pode
ser casada com um e apenas um homem.
1
HOMEM
1
CASAMENTO
MULHER
Relacionamento 1:N ou N:1
Pedro trabalha no Departamento de Pessoal.
Trabalha - Ligação entre um Funcionário e um Departamento, onde um
funcionário pode trabalhar em um e somente um departamento e um
departamento pode ter vários funcionários.
N
EMPREGADOS
1
LOTAÇÃO
DEPARTAMENTO
Relacionamento N : N
Antônio está matriculado na disciplina Banco de Dados.
Matriculado - Ligação existente entre um Aluno e uma Disciplina, onde um
aluno pode estar matriculado em várias disciplinas e cada disciplina pode ter
vários alunos matriculados.
N
ALUNOS
N
MATRICULADO
DISCIPLINA
6
Atributos do Relacionamento
Quando um relacionamento possui atributos, também conhecido como
relacionamento valorado.
Esta situação ocorre apenas em relacionamento N : N.
Pedro trabalha no projeto Alfa durante 30 horas.
Trabalha - Ligação existente entre um Funcionário e um Projeto.
Neste caso, este funcionário trabalha 30 horas neste projeto, porém este mesmo
funcionário poderá trabalhar outro número de horas em outro projeto, assim
como outro funcionário trabalha outro número de horas no mesmo projeto Alfa.
N
FUNCIONÁRIO
N
PROJETO
TRABALHA
HORAS
Relacionamentos Recursivos ou Auto-Relacionamento
É o relacionamento estabelecido entre uma entidade e ela mesma.
Cada tipo entidade que participa de um tipo relacionamento desempenha um
papel particular no relacionamento.
No exemplo abaixo nós vemos o papel do empregado para o tipo entidade
Empregado. Temos um relacionamento entre o tipo entidade EMPREGADO,
onde um empregado pode supervisionar outro empregado e um empregado pode
ser supervisionado por outro empregado.
N
SUPERVISIONA
EMPREGADO
1
7
Relacionamento Ternário
Quando existe o relacionamento entre três entidades.
Ex. Fornecedor comercializa materiais que são usados em projetos específicos.
MATERIAIS
FORNECEDORES
1
UTILIZADO
N
N
PROJETOS
2.5. Estrutura de generalização e especialização
Permite que uma ENTIDADE tenha sub-classes ou pertença a super-classes.
A associação entre uma Generalização (super-classe) e suas Especializações
(sub-classes), recebe o nome de “isa” (é um) e é representada por um triângulo:
Os Atributos Nome, Data Admissão, Rg, são Atributos de Funcionários.
O Atributo Idiomas, só é útil para Secretárias.
Os Atributos Habilitação, Acidentes são exclusivos dos Motoristas
Somente os Motoristas dirigem Veículos.
Apenas os Engenheiros participam de Projetos.
8
3. ESQUEMA DE TABELAS
Dado um Modelo Entidade-Relacionamento completo, devemos montar um
esquema onde aparecem todas as tabelas, com seus campos e chaves.
A chave principal deve receber sublinhado simples e a chave secundária um
sublinhado duplo.
Caso 1: cada produto só é distribuído por um único fornecedor, que pode
distribuir vários produtos.
preço
Produto
N
1
Fornecedor
distribuição
Número
Descrição
Cnpj
Nome
Tabelas: estão relacionadas pelo campo Cnpj-Fornec
TAB-PRODUTO ( Núm-Prod , Desc-Prod, Preço-Prod , Cnpj-Fornec )
TAB-FORNECEDOR ( Cnpj-Fornec , Nome-Fornec )
Caso 2: cada produto é distribuído por vários fornecedores, que podem distribuir
apenas 1 produto.
preço
Produto
Número
1
N
distribuição
Descrição
Cnpj
Fornecedor
Nome
Tabelas: estão relacionadas pelo campo Núm-Prod
TAB-PRODUTO ( Núm-Prod , Desc-Prod )
TAB-FORNECEDOR ( Cnpj-Fornec , Nome-Fornec , Preço-Prod , Num-Prod )
9
Caso 3: cada produto é distribuído por vários fornecedores, que podem distribuir
vários produtos.
preço
N
Produto
N
distribuição
Número
Descrição
Fornecedor
Cnpj
Nome
Tabelas
TAB-PRODUTO ( Núm-Prod , Desc-Prod )
TAB-DISTRIBUIÇÃO (Núm-Prod , Cnpj-Fornec , Preço-Prod )
TAB-FORNECEDOR ( Cnpj-Fornec , Nome-Fornec )
1
TAB-PRODUTO
N
N
TAB-DISTRIBUIÇÃO
1
TAB-FORNECEDOR
4. EXERCÍCIO
Mini Mundo – Faculdade Dom Bosco
Um Aluno pertence a um único Curso
Um Curso possui vários Alunos
Cada Aluno é cadastrado por: Matrícula, Nome, Endereço
Não existem 2 Alunos com a mesma Matrícula
Cada Curso é registrado por: Código e Nome
Não existem 2 Cursos com o mesmo Código
Um Curso possui muitas Disciplinas
Uma Disciplina pode ter em muitos Cursos
Cada Disciplina é armazenada por: Controle e Descrição
Não existem 2 Disciplinas com o mesmo Controle
Cada Disciplina pode ser ministrada em dias diferentes para cada Curso
10
Uma Disciplina é lecionada por um único Professor
Um Professor pode lecionar inúmeras Disciplinas
Cada Professor é cadastrado por: Cpf, Nome e Telefone
Não existem 2 professores com o mesmo Cpf
5. RESPOSTA DO EXERCÍCIO
Modelo Entidade-Relacionamentos
Nome
Matrícula
Código
1
N
Curso
Pertence
Aluno
Nome
End
N
Controle
Possui
Disciplina
Nome
Fone
N
N
1
Descrição
Leciona
Dias semana
Professor
Cpf
Esquema de Tabelas
TAB-ALUNO ( Matri-Alu , Nome-Alu , Rua-Alu , Bairro-Alu , Cep-Alu ,
Cidade- Alu , UF-Alu , Cód-Cur )
TAB-CURSO ( Cód-Cur , Nome-Cur )
TAB-CUR-DISC ( Cód-Cur , Contro-Dis , Dia-Semana )
TAB-DISCIPLINA ( Contro-Dis, Descri-Disc , Cpf-Prof )
TAB-PROFESSOR ( Cpf-Prof , Nome-Prof , Fone-Prof )
Fim
Download

Gerenciamento de Dados Assunto 2. MODELAGEM DE DADOS