OBJETIVOS
• Saber projetar um banco de dados
• Entender o que é um projeto conceitual de um banco de dados
• Entender o que é um modelo Entidade x Relacionamento
• Aprender a definir entidades, atributos, cardinalidade e notações
AGENDA
• INTRODUÇÃO
• HISTÓRIA
• CONCEITOS
• ENTIDADE
• RELACIONAMENTO
• CARDINALIDADE
• TIPOS DE RELACIONAMENTO
• OUTROS CONCEITOS
• OUTRAS NOTAÇÕES
INTRODUÇÃO
•
Toda realidade é, em princípio, nebulosa e informal
•
Através da observação podemos extrair dela fatos que nos levam a
conhecê-la de uma forma mais organizada
•
Em um negócio existem fatos que, observados e modelados, dizem
respeito ao seu funcionamento. Daí o nosso interesse em
compreendê-lo e mantê-lo
•
Para retratar esses fatos, se faz necessário registrá-los, para que
possamos tomar decisões e ações
INTRODUÇÃO (CONT.)
•
Fatos ocorrem a todo instante dentro de uma realidade que se
modifica com o passar do tempo
•
Muitos deles ficam registrados em documentos formais (fichas,
memorandos, leis, acordos, protocolos,...) inclusive na mente
das pessoas que influenciam a realidade a ser modelada
•
O analista deve então
• Observar os fatos relevantes que ocorrem na realidade, afim de construir um sistema que possa automatizar as suas necessidades de informação
INTRODUÇÃO (CONT.)
•
Cria-se uma abstração da realidade
MODELO DO
MUNDO REAL
(ABSTRAÇÃO)
FATO DO MUNDO
RESUMINDO...
•
Os objetivos dos modelos são:
•
Comunicação
com clientes
• Pode-se mostrar ao cliente, através de um produto de demonstração, parte ou todo o comportamento externo de um sistema
•
Visualização
• permite visualizar ideias antes de torná-las concretas
•
Redução da complexidade
HISTÓRIA
•
Peter Chen (1976): Propôs o modelo Entidade-Relacionamento (ER)
para projetos de banco de dados. Isso deu uma nova e importante
percepção dos conceitos de modelos de dados.
•
O modelo ER proposto possibilitava ao projetista concentrar-se
apenas na utilização dos dados sem se preocupar com estrutura
lógica de tabelas
ANÁLISE DE REQUISITOS
MODELO
CONCEITUAL
PROJETO LÓGICO
PROJETO FÍSICO
CONCEITOS
• O modelo de entidades e relacionamento (MER) é um modelo conceitual
onde descrevemos um banco de dados através de uma técnica de modelagem que utiliza símbolos gráficos
• Representamos esse modelo por um diagrama de Entidade e Relacionamento (ER).
CONCEITOS (CONT.)
• O diagrama ER é a forma pela qual um projetista de banco de dados descreve os requisitos levantados pelos usuários sobre um determinado
domínio (conjunto de eventos existentes no mundo real). Por esse motivo, é importante aprender os conceitos do Modelo ER e aprender como modelar tais conceitos utilizando-se diagramas ER.
• Para isso, precisamos identificar quem são
• ENTIDADES
ENTIDADE
• É algo que possui existência distinta e separada, real ou imaginária. São objetos, coisas, algo concreto ou abstrato, porém relevante.
• Objeto no mundo real que pode ser identificado de forma única em relação aos outros objetos
• Símbolo: retângulo
CURSOS
DISCIPLINAS
HORÁRIOS NOTAS
ALUNO PROFESSOR
DOMÍNIO
IFPE
Entidades do Domínio
IFPE
CAMPUS
TURMAS
DEFINIÇÃO DE ENTIDADES
•
Unidades do cenário (domínio) a ser modelado
•
Identificação dos
substantivos
na descrição narrativa dos
usuários (Análise de requisitos)
•
A
bibliotecária
empresta
livros
ao
aluno
por um
prazo
determinado. O
aluno
deve devolver o
livro
no
prazo
estabelecido, caso contrário, integrará a
lista negra
da biblioteca
por um período determinado
•
Nomeação apropriada das entidades identificadas
•
Padronização dos nomes (singular, abreviações)
ENTIDADES
LISTA NEGRA
PRAZO
BIBLIOTECÁRIA
RELACIONAMENTO
• É a forma como os objetos que compõem a realidade se relacionam. É o
tipo de ocorrência existente entre entidades
• Geralmente expressam regras de negócio
• Símbolo: losango
PRODUTO
compra
RELACIONAMENTOS
•
Verbos podem denotar relacionamentos na descrição
narrativa dos usuários (Análise de requisitos)
•
A bibliotecária empresta livros ao aluno por um
prazo determinado. O aluno deve devolver o livro
no prazo estabelecido, caso contrário, integrará
a lista negra da biblioteca por um período
LISTA NEGRA
PRAZO DE
DEVOLUÇÃO
LIVRO
ALUNO
EMPRESTA
POSSUI DEVOLVE
REPASSA
INTEGRA INTEGRA
OUTRO EXEMPLO...
NOTA FISCAL DE COMPRA
EMITE
LOJA
CONTÉM
ITEM DA NOTA FISCAL DE
COMPRA FORNECEDOR
CONCEITOS (CONT.)
•
Note que para identificar como cada entidade se
relaciona com as demais é importante realizar algumas
perguntas durante a fase de levantamento (análise) de
requisitos.
•
Exemplo:
Para identificar os relacionamentos no exemplo
anterior poderíamos perguntar:
•
Como uma loja está relacionada com um fornecedor?
•
Uma loja pode ter somente um
ou vários
fornecedores?
•
Um fornecedor pode fornecer para uma
ou várias
lojas?
•
Dependendo do tipo de resposta fornecida, um
CARDINALIDADE
•
um-para-um (1:1)
•
um-para-muitos
(1:N)
•
muitos-para-muitos (N:N) ou (N:M)
A esse evento chamamos CARDINALIDADE
• É a quantidade de ocorrências de entidades que podem estar associadas a uma ocorrência da entidade a ser analisada
CARDINALIDADE (CONT.)
Relacionamento um-para-um
• Usado quando uma ocorrência da entidade A se relaciona com apenas uma ocorrência entidade B e vice-versa.
Regra de negócio:
O único titular de uma conta só pode nomear, no máximo, um (único) 2º titular da conta. O único 2º titular de uma conta só pode ser nomeado, no máximo, pelo único titular da conta corrente.
CARDINALIDADE (CONT.)
Relacionamento
um-para-um
• Outro exemplo:
Regra de negócio:
O funcionário possui apenas um cônjuge. O cônjuge está relacionado
a apenas um funcionário.
CÔNJUGE
POSSUI
CARDINALIDADE (CONT.)
Relacionamento
um-para-muitos
• Usado quando uma ocorrência da entidade A se relaciona com uma ou mais ocorrências da entidade B e uma das ocorrências da entidade B se relaciona apenas a uma ocorrência da entidade A.
DEPENDENTE
POSSUI
EMPREGADO
1 NITEM DA
NOTA FISCAL
possui
CARDINALIDADE (CONT.)
Relacionamento
muitos-para-muitos
• Usado quando uma ocorrência da entidade A se relaciona com uma ou mais ocorrências da entidade B e uma das ocorrências da entidade B também se relaciona com uma ou mais ocorrências da entidade A.
DISCIPLINA
matricula
ALUNO
N NFORNECEDOR
possui
CARDINALIDADE (CONT.)
Auto-Relacionamento
• Usado quando uma entidade se relaciona com ela mesma
CHEFIA
FUNCIONÁRIO
1
CARDINALIDADE (CONT.)
• A cardinalidade é, portanto, um conceito importante para ajudar a definir o relacionamento.
• Ela define o número de ocorrências em um relacionamento.
• Existe também o conceito de CARDINALIDADE MÍNIMA. Para isso, devemos fazer algumas perguntas relativas ao relacionamento em ambas as
CARDINALIDADE (CONT.)
Exemplo:
Dado um relacionamento entre
Empregado e Departamento, pode-se fazer
as seguintes perguntas:
•
Pergunta: Um departamento possui quantos empregados?
•
Resposta: No mínimo
1
e no máximo
N
.
•
Pergunta: Um empregado está alocado em quantos
departamentos?
CARDINALIDADE MÁXIMA
•
A cardinalidade máxima indica a quantidade máxima de
ocorrências de entidades que podem estar associadas a uma
ocorrência da outra entidade (1 ou N).
DEPARTAMENTO
PERTENCE
CARDINALIDADE MÍNIMA
Especifica se a participação de todas as ocorrências das entidades no relacionamento é obrigatória ou opcional. Em um projeto de BD, é usada somente duas cardinalidades mínimas
• 1 - Recebe a denominação de “associação obrigatória”, ou seja, é obrigado ter a cardinalidade mínima.
CARDINALIDADE MÍNIMA (CONT.)
Considere as seguintes questões:
•
Um empregado pode não ter dependentes?
•
Um dependente pode ter mais de um empregado?
•
Determinado empregado pode possuir mais de um dependente?
•
Pode existir dependente sem algum empregado associado?
CARDINALIDADE MÍNIMA (CONT.)
•
Uma ocorrência de empregado pode
não
estar associada a uma
ocorrência de dependente ou pode estar associada a
várias
ocorrências dele (um empregado pode não possuir dependentes ou
pode possuir vários). Por esse motivo, a cardinalidade mínima e
máxima de Dependente é
0:N
•
Uma ocorrência de dependente está associada a apenas
uma
ocorrência de empregado (um dependente possui apenas um
OUTROS CONCEITOS
Entidade Fraca
•
A entidade não possui atributos suficientes para formar o seu
identificador
•
A entidade só existe se estiver relacionada a outra entidade (forte)
•
Utiliza o
identificador
da entidade forte para formar o seu
DEPENDENTE
possui
EMPREGADO
(1,1) (0,N)Matricula do Empregado Nome do Dependente Matricula do Empregado
OUTROS CONCEITOS (CONT.)
Relacionamento Ternário
•
Ocorrência de relacionamento que envolve simultaneamente 3
entidades
CONTA
possui
CLIENTE
(1,N) (1,N)PRODUTO
OUTROS CONCEITOS (CONT.)
• A conta de um cliente tem que ter um produto associado ou vários produtos
• O produto associado a uma conta tem que pertencer a um cliente ou a vários clientes
• Um produto associado a um cliente tem que pertencer a uma conta ou a várias contas
CONTA
possui
CLIENTE
(1,N) (1,N)PRODUTO
OUTROS CONCEITOS (CONT.)
Generalização / Especialização
GENERALIZAÇÃO/ESPECIALIZAÇÃO
CLIENTE
PESSOA
JURÍDICA
PESSOA
GENERALIZAÇÃO/ESPECIALIZAÇÃO
FUNCIONÁRIO
ATRIBUTOS
• Atributos são as características que descrevem cada entidade dentro do domínio.
• Durante a análise de requisitos, são identificados os atributos relevantes de cada entidade naquele contexto, de forma a manter o modelo o mais
ATRIBUTOS
• Quanto à sua estrutura, podemos classificá-los como:
• Referenciais (chave): representam a ligação de uma entidade com outra em um relacionamento. Por exemplo, uma venda possui o CPF do cliente, que a relaciona com a entidade cliente.
• Simples: define uma característica da entidade. Exemplos: nome, peso.
• Compostos: o seu conteúdo é formado por vários itens menores. Por exemplo, o endereço pode ser composto por rua, número, bairro, etc.