36
SISTEMA DE INFORMAÇÃO SISTEMA DE INFORMAÇÃO MODELAGEM DE DADOS MODELAGEM DE DADOS Prof. Edson Thizon Prof. Edson Thizon

MODELAGEM DE DADOS - paginas.unisul.brpaginas.unisul.br/edson.thizon/PDF/aula_modelo_dados_er1.pdf · Esquema de banco de dados • Para construir um modelo de dados usa-se – Linguagem

Embed Size (px)

Citation preview

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

Ã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 Lógico Modelo Lógico –– SGBD RelacionalSGBD Relacional

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

Modelo FísicoModelo Físico

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

• Exemplo

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.

Exercício 1Exercício 1

Referências BibliográficasReferê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.