Post on 10-Dec-2018
SISTEMA DE INFORMAÇÃOSISTEMA DE INFORMAÇÃO
MODELAGEM DE DADOSMODELAGEM DE DADOS
Prof. Edson ThizonProf. Edson Thizon
Histórico de Evolução dos Histórico de Evolução dos Modelos e Modelos e SGBDsSGBDs
SGBDs Universais
Tamino (XML)
1958 – Pré-SGBDs: Estruturas de acesso suportadas pelo SO1962 – TOTAL (Rede - limitado)
1966 – IMS (Hierárquico)
1970 – IDMS (Rede)
1974 – Sistema R (Relacional), DATACOM, ADABAS
1978 – INGRES, ORACLE (Relacionais)Modelo E-R
Modelo Relacional
1982 – DB2 (Relacional)
1986 – Protótipos: - Adaplex- Exodus- SDM
1990 – Ontos, O2, Postgres1994
1998
2002
Modelo UML
Modelo OO / OR
Modelos de DadosModelos 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 dadosEsquema 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 DadosModelo de Dados(níveis de abstração)(níveis de abstração)
Modelo conceitual
Modelo lógico
Modelo físico
AB
STR
AÇ
ÃO
Modelo conceitualModelo 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 Modelo conceitual –– diagrama ERdiagrama ER
• Técnica mais difundida de modelagem conceitual– Abordagem entidade-relacionamento (ER)
• Modelo conceitual é representado através de diagrama entidade – relacionamento (DER)
Modelo conceitual Modelo conceitual -- ERERMODELO ENTI DADE RELAÇÃO
I TEM DOCONTRATO
CONTRATO
PRODUTOPARA
MOSTRAR NO
J UNTO
FEI TO EMCI MA
CONTRATO
I TEM 2
PRODUTO Y
I TEM 1
PRODUTO X
PRODUTO X
PRODUTO Y
I TEM 2I TEM 1
CONTRATO
HI ERÁRQUI COBANCO DE DADOS
DE REDEBANCO DE DADOS
RELACI ONALBANCO DE DADOS
QUANT.NÚM.CONTRAT. PRODUTO
I TEM
PRODUTOCONTRATOCÓD. DATA CÓD. DESCRI ÇÃOCLI ENTE
Modelo lógicoModelo lógico
• Nível de abstração visto pelo usuário do SGBD
• Dependente do tipo particular de SGBD que está sendo usado
Modelo FísicoModelo 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
Projeto de BDProjeto de BD
• Duas fases:1. Modelagem conceitual2. 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 DADOSMODELAGEM DE DADOS
MODELAGEMDE DADOS
Estratégia
Análise
Modelo de dados Entidade relacionamentoDefinições de entidade
Definiçoes de tabelas, indexes
Projeto
Construção
CONCEITUAL
PROJETODO BANCODE DADOS
CONSTRUÇÃODO BANCODE DADOS
Informações requeridas do negócio
Banco de Dados Operacional
EntidadeEntidade--RelacionamentoRelacionamento
• 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
EntidadeEntidade--RelacionamentoRelacionamento
• 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
EntidadeEntidade--RelacionamentoRelacionamento
• Modelo de dados é representado através de um– modelo entidade-relacionamento (modelo ER)
• Modelo ER é representado graficamente– diagrama entidade-relacionamento (DER)
Modelo EntidadeModelo Entidade--RelacionamentoRelacionamento
• É 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 EntidadeModelo Entidade--RelacionamentoRelacionamento
• 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
ENTIDADEENTIDADE
• 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
ENTIDADEENTIDADE• 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:
ATRIBUTOSATRIBUTOS
• 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
ATRIBUTOSATRIBUTOS
• 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.
ATRIBUTOSATRIBUTOS
• 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.
• NomenclaturaENTIDADE 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 tp_sexo - tipo de sexo (domínio)dt_nascimento - data de nascimento vl_salario - valor do salário
ATRIBUTOSATRIBUTOS
• 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.
ATRIBUTOSATRIBUTOS• 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 ÚNICOSIDENTIFICADORES Ú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 serunicamente identificável.
• Exemplo– No negócio, cada ocorrência do DEPARTAMENTO é unicamente
identificável pelo seu código de departamento.
IDENTIFICADORES ÚNICOSIDENTIFICADORES Ú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 ÚNICOSIDENTIFICADORES Ú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.
BANCO#cd_banco
CONTA
o gerentede
#nr_conta
gerenciadopor
INSTÂNCIAINSTÂ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ÂNCIAINSTÂ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 IDENTIFICARPASSOS 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 IDENTIFICARPASSOS 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.