Modelos de Dados

Propaganda
SISTEMA DE INFORMAÇÃO
MODELAGEM DE DADOS
Prof. Edson Thizon
Histórico de Evolução dos
Modelos e SGBDs
2002
Tamino (XML)
Modelo UML
1998
Modelo OO / OR
SGBDs Universais
1994
1990 – Ontos, O2, Postgres
1986 – Protótipos:
Modelo E-R
Modelo Relacional
1982 – DB2 (Relacional)
1978 – INGRES, ORACLE (Relacionais)
1974 – Sistema R (Relacional), DATACOM, ADABAS
1970 – IDMS (Rede)
1966 – IMS (Hierárquico)
1962 – TOTAL (Rede - limitado)
1958 – Pré-SGBDs: Estruturas de acesso suportadas pelo SO
- Adaplex
- Exodus
- SDM
Modelos de Dados
• Modelo de (banco de) dados
– Descrição formal dos tipos de dados que estão
armazenados em um banco de dados
• Exemplo de Modelo de Dados para uma Escola
– Modelo de dados Informa:
• são armazenados informações sobre os alunos;
• Para cada luno, são armazenados seu código e nome;
– Modelo de dados não informa:
• quais os alunos que são armazenados no banco de dados;
Esquema de banco de dados
• Para construir um modelo de dados usa-se
– Linguagem de modelagem de dados
• Textual
• Gráfica
• Um modelo de dados pode ser apresentado
de várias formas (texto, figura...)
• Cada apresentação do modelo recebe a
denominação esquema de banco de dados.
Modelo de Dados
(níveis de abstração)
ABSTRAÇÃO
Modelo conceitual
Modelo lógico
Modelo físico
Modelo conceitual
• Independente de tipo de SGBD
• Registra
– Estrutura dos dados podem aparecer no
banco de dados
• Não registra
– Como estes dados estão armazenados a nível
de SGBD
Modelo conceitual – diagrama ER
• Técnica mais difundida de modelagem
conceitual
– Abordagem entidade-relacionamento (ER)
• Modelo conceitual é representado através
de diagrama entidade – relacionamento
(DER)
Modelo conceitual - ER
MODELO ENTI DADE RELAÇÃO
I TEM DO
CONTRATO
PARA
PRODUTO
MOS TRAR NO
J UNTO
FEI TO EM
CI MA
CONTRATO
BANCO DE DADOS
HI ERÁRQUI CO
BANCO DE DADOS
DE REDE
CONTRATO
CONTRATO
I TEM 1
PRODUTO X
I TEM 2
PRODUTO Y
PRODUTO X
PRODUTO Y
I TEM 1
BANCO DE DADOS
RELACI ONAL
PRODUTO
CONTRATO
CÓD.
DATA
CLI ENTE
CÓD. DES CRI ÇÃO
I TEM
CONTRAT. NÚM.
QUANT. PRODUTO
I TEM 2
Modelo lógico
• Nível de abstração visto pelo usuário do
SGBD
• Dependente do tipo particular de SGBD
que está sendo usado
Modelo Lógico – SGBD Relacional
Modelo Físico
• Contém detalhes de armazenamento
interno de informações
• Detalhes que
– Não tem influência sobre a programação de
aplicações no SGBD
– Influenciam a performance da aplicação
Modelo Físico
Projeto de BD
•
Duas fases:
1. Modelagem conceitual
2. Projeto lógico
•
•
Adequado para a construção de um novo
banco de dados
Caso já exista um banco de dados ou um
conjunto de arquivos convencionais usar
reengenharia
MODELAGEM DE DADOS
Informações requeridas do negócio
Estratégia
Análise
MODELAGEM
DE DADOS
CONCEITUAL
Modelo de dados Entidade relacionamento
Definições de entidade
Projeto
Construção
PROJETO
DO BANCO
DE DADOS
CONSTRUÇÃO
DO BANCO
DE DADOS
Banco de Dados Operacional
Definiçoes de tabelas, indexes
Entidade-Relacionamento
• Técnica para construir modelos
conceituais de base de dados
• Técnica de modelagem de dados mais
difundida e utilizada
• Criada em 1976 por Peter Chen
Entidade-Relacionamento
• Padrão de fato para modelagem conceitual
• Não é única:
– NIAM/ORM (técnica européia da década de 70)
– UML (Técnica para modelos Orientados a
Objetos)
• Técnicas de modelagem orientada a objetos
(UML) baseiam-se nos conceitos da
abordagem ER
Entidade-Relacionamento
• Modelo de dados é representado através
de um
– modelo entidade-relacionamento (modelo ER)
• Modelo ER é representado graficamente
– diagrama entidade-relacionamento (DER)
Modelo Entidade-Relacionamento
• É um meio efetivo para coleta e documentação das
informações requeridas de uma organização.
– Tenha certeza do completo estabelecimento dos
requisitos de informações organizacionais durante o
estágio de modelagem de dados conceitual.
– Mudanças nos requisitos durante estágios posteriores
do ciclo de vida, pode ser extremamente caro.
Modelo Entidade-Relacionamento
• Componentes
– Entidades - os objetos de significância sobre os quais as informações
necessitam ser mantidas.
– Relacionamentos - como os objetos de significância são
relacionados.
– Atributos - a informação específica a qual necessita ser mantida.
– Generalização/especialização
– Entidade associativa
ENTIDADE
• Entidade é alguma coisa (objeto significante) sobre a qual
a informação precisa ser conhecida ou mantida.
OU
•
Conjunto de objetos da realidade modelada sobre os quais
deseja-se manter informações no banco de dados.
•
Pode representar objetos concretos ou abstratos.
• Outras definições de Entidade:
– Um objeto de interesse de negócios.
– Uma classe ou categoria de alguma coisa
– Uma entidade é a nomeação de algo.
•
Exemplos
– EMPREGADO
– DEPARTAMENTO
– PROJETO
ENTIDADE
•
Convenções
–
−
−
−
Box arredondado de qualquer tamanho
O nome da entidade deve ser singular e único
Nome da entidade no topo
Opcional: nome sinônimo que deve ser representado entre
parênteses
− Os nomes dos atributos logo abaixo
•
Exemplo:
ATRIBUTOS
•
Atributos são informações sobre uma entidade que precisa ser
conhecida ou mantida. Atributos descrevem uma entidade pela
qualificação, identificação, classificação, quantidade ou expressando
o estado da entidade.
•
•
Exemplo
Quais são alguns dos atributos da entidade EMPREGADO?
–
–
–
–
–
código ou número da folha de pagamento identificam um EMPREGADO
nome e sobrenome qualificam um EMPREGADO
categoria da folha de pagamentto (semanal, mensal) classificam um EMPREGADO
a idade quantifica um EMPREGADO
status do emprego (ativo, aposentado) expressa a posição do EMPREGADO
ATRIBUTOS
•
Atributos representam o tipo de descrição ou detalhe, não uma
instância.
•
Exemplo
– 77506 e 763111 são os valores do atributo número.
– João é o valor do atributo nome do EMPREGADO.
•
Notas
– Os nomes dos atributos devem estar claros aos usuários, não codificados para o
desenvolvedor.
– Nomes de atributos devem ser específicos-ex., isso é quantidade, quantidade
retornada, ou quantidade adquirida?
– Sempre esclareça uma data atributo com uma narrativa ou frase, - ex., data de
contato, data do pedido.
– Um atributo deve ser designado à uma única entidade.
ATRIBUTOS
•
Convenções do Diagrama
– Os nomes dos atributos são simples e mostrados abaixo do nome da
entidade.
– Listar os nomes dos atributos nos soft box de suas devidas entidades.
•
Nomenclatura
ENTIDADE CURSO
– cd_curso - código do curso
– nm_curso - nome do curso
– ds_curso - descrição do curso
ENTIDADE CURSO
– codcurso - código do curso
– nome - nome do curso
– Descrição – descrição do curso
nr_telefone - número do telefone
dt_nascimento - data de nascimento
tp_sexo - tipo de sexo (domínio)
vl_salario - valor do salário
ATRIBUTOS
•
Exemplo
ATRIBUTOS
•
•
•
•
•
Opcionalidade (cardinalidade)
Identificar cada opção de atributo usando uma marca.
Atributos Obrigatórios
• Um valor deve ser conhecido por cada ocorrência da entidade.
• Marque-o com *.
Atributos Opcionais
• Um valor pode ser conhecido para cada ocorrência da entidade.
• Marque-o com o.
Exemplo
– Identificar os atributos para a entidade PESSOA. Determinar sua opcionalidade.
ATRIBUTOS
• Identificar atributos
•
– Identificar atributos pelo exame das notas da entrevista e pela
solicitação das perguntas do usuário.
Atributos podem aparecer nas notas da entrevista como:
•
•
•
•
Frases ou palavras descritivas
Substantivos
Frases preposicionais (ex.- quantia do salário para cada empregado)
Substantivos possesivos e pronomes (ex.- nome do empregado)
•
Questões para perguntar ao usuário
•
• Que informação você precisa saber ou manter sobre a entidade x?
• Que informação você gostaria de exibir sobre a entidade x?
Examinar documentação existente, manual de procedimentos ou
automatizar sistemas para descobrir atributos adicionais e
omissões.
IDENTIFICADORES ÚNICOS
•
Um Identificador Único (UID) é qualquer combinação de atributos
e/ou relacionamentos que serve para unicamente identificar uma
ocorrência de uma entidade. Cada ocorrência da entidade deve ser
unicamente identificável.
•
Exemplo
– No negócio, cada ocorrência do DEPARTAMENTO é unicamente
identificável pelo seu código de departamento.
IDENTIFICADORES ÚNICOS
•
•
Exemplo
Para um pequeno teatro, cada bilhete é unicamente identificável pela sua data de
performance e o número da cadeira.
•
UID para a entidade BILHETE DO TEATRO é uma combinação dos dois atributos.
•
A entidade deve ter um UID, ou então não é entidade
•
Notas
• Todos os componentes do UID devem ser obrigatórios.
• Marque o atributo UID com #.
IDENTIFICADORES ÚNICOS
•
•
Uma entidade pode ser unicamente identificada através de uma
relação.
Exemplo
– Na indústria dos bancos, para cada banco é atribuido um único número. Dentro de
um banco, cada conta tem um único número. Qual é o UID da entidade CONTA?
– CONTA é unicamente identificada pelo seu número de atributo e o
específico BANCO com que ela está relacionada.
•
•
Usar a barra UID para indicar que a relação é parte do UID da
entidade.
Exemplo
– A barra UID indica que o relacionamento com BANCO é parte do UID da CONTA.
CONTA
gerenciado
por
#nr_conta
o gerente
de
BANCO
#cd_banco
INSTÂNCIA
• Cada entidade deve ter várias instâncias ou ocorrências.
– Exemplos
– A entidade EMPREGADO tem uma instância para cada empregado no negócio:
João Alves, Maria do Carmo e Egberto da Silva são todos as instâncias da
entidade EMPREGADO.
•
Cada instância da entidade tem específicos valores para seus
atributos.
– Exemplo
– A entidade EMPREGADO tem atributos de nome, número, data de nascimento e
salário.
– A instância João Alves tem os seguintes valores: nome João Alves, número:
1322, data de nascimento 15-mar-50 e o salário de R$1000.
INSTÂNCIA
• Notas:
− Instâncias são as vezes confundidos com entidades.
− A entidade é uma classe ou categoria da coisa.
ex.: EMPREGADO.
− A instância é uma coisa específica.
ex.: o empregado João Alves.
PASSOS PARA IDENTIFICAR
•
Siga os passos abaixo para identificar e modelar entidades a
partir de um conjunto de notas de uma entrevista.
– Examine os substantivos. Eles são objetos significantes?
– Nomeie cada entidade.
– Existe alguma informação ou interesse sobre a entidade que o
negócio (empresa) precisa manter?
– Cada instância da entidade é unicamente identificável? Qual
atributo ou atributos poderiam servir como um UID?
PASSOS PARA IDENTIFICAR
•
Siga os passos abaixo para identificar e modelar entidades a
partir de um conjunto de notas de uma entrevista.
- Faça uma descrição disso: “Um empregado tem a
importância de um assalariado da companhia. Por exemplo,
Egberto da Silva e Maria do Carmo são EMPREGADOS.”
– Diagrame cada entidade e alguns de seus atributos.
Exercício 1
Referências Bibliográficas
• KORTH, Henry F. & SILBERSCHATZ,
Abraham. Sistemas de Bancos de Dados, São
Paulo. Ed. Makron Books, 1999.
• HEUSER, Carlos Alberto. Projeto de Banco
de Dados. 4ª Edição. Ed. Sagra, 2001.
Download