modelagem de dados - paginas.unisul.brpaginas.unisul.br/edson.thizon/pdf/aula2_modelo_dados.pdf ·...
Post on 07-Nov-2018
213 Views
Preview:
TRANSCRIPT
MODELAGEM DE DADOSMODELAGEM DE DADOS
Prof. Edson ThizonProf. Edson Thizon
SISTEMA DE INFORMASISTEMA DE INFORMA ÇÇÃOÃO
HistHistóórico de Evolurico de Evoluçção dos ão dos Modelos e Modelos e SGBDsSGBDs
SGBDs Universais
Tamino (XML)
1958– Pré-SGBDs: Estruturas de acesso suportadas pelo SO
1962 – 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, Postgres
1994
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 aluno, 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(nííveis de abstraveis de abstraçção)ão)
AB
ST
RA
ÇÃ
O
Modelo conceitual
Modelo lógico
Modelo físico
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
JUNTO
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
PRODUTOCONTRATO
CÓD. DATA CÓD. DESCRI ÇÃOCLI ENTE
Modelo lModelo lóógicogico
• Nível de abstração visto pelo usuário do SGBD
• Dependente do tipo particular de SGBD que está sendo usado
Modelo LModelo Lóógico gico –– SGBD RelacionalSGBD Relacional
Modelo FModelo Fíísicosico
• 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 FModelo Fíísicosico
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 relacionamentorerelacionamentoDefinições de entidade
Definiçoes de tabelas, indexesinI:tttgfgfgfgfdfdfdfdfdfdfdfdfdfdfdfdf
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)
• É 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
Modelo EntidadeModelo Entidade--RelacionamentoRelacionamento
• 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:
ENTIDADEENTIDADE
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 serconhecido 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 IDENTIFICADORES ÚÚNICOSNICOS• 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 IDENTIFICADORES ÚÚNICOSNICOS• 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 IDENTIFICADORES ÚÚNICOSNICOS• 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
• 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.
INSTÂNCIAINSTÂNCIA
• 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.
PASSOS PARA IDENTIFICARPASSOS PARA IDENTIFICAR
ExercExercíício 1cio 1
Referências BibliogrReferências Bibliográáficasficas
• 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.
top related