A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Valdemar Setzer – Análise de dados

Apresentações semelhantes


Apresentação em tema: "Valdemar Setzer – Análise de dados"— Transcrição da apresentação:

1 Valdemar Setzer – Análise de dados
A MODELAGEM CONCEITUAL DE DADOS COMO FERRAMENTA BÁSICA PARA A ANÁLISE DE SISTEMAS  Valdemar W. Setzer Ver esta apresentação em ou buscar: setzer apresentacoes Valdemar Setzer – Análise de dados 4/10/17

2 Valdemar Setzer – Concentração e meditação
ONE-MINUTE PAPER NO FIM DA PALESTRA, ESCREVER NUM PEDAÇO DE PAPEL: 1. O QUE APRENDI DE MAIS IMPORTANTE? 2. QUAL A MAIOR DÚVIDA QUE FICOU? 3. COMENTÁRIOS Valdemar Setzer – Concentração e meditação 28/9/17

3 Valdemar Setzer – Análise de dados
Regra fundamental do desenvolvedor de sistemas Tire o computador da mente; pense no mundo real e no problema Para isso, nada como observar o mundo E fazer modelos bem próximos do mundo Vamos estudar o Modelo de Entidades e Relacionamentos (MER) Valdemar Setzer – Análise de dados 4/10/17

4 Conjuntos de entidades
Entidade: qualquer coisa que é observada ou vivenciada no mundo “real” Exemplos: uma aluna, uma disciplina Conjunto de entidades: todos elementos de mesma categoria Ex.: Alunos, Disciplinas Nomes desses conjuntos sempre com iniciais em maiúscula e no plural Pois cada conjunto contém vários elementos Valdemar Setzer – Análise de dados 4/10/17

5 Conjuntos de entidades
Representação em diagrama Atenção: cada elemento de cada conjunto de entidades é uma abstração Não pode ser introduzido em um computador! Por que são de categorias diferentes? Porque têm ATRIBUTOS diferentes Alunos Disciplinas Valdemar Setzer – Análise de dados 4/10/17

6 Valdemar Setzer – Análise de dados
Atributos De Alunos Nome do aluno Data de nascimento Endereço RG CPF ... Para que servem? Fornecer os dados de uma entidade Localizar uma ou mais entidades de um conjunto de entidades Valdemar Setzer – Análise de dados 4/10/17

7 Conjuntos de entidades
A localização de uma entidade em um conjunto de entidades se dá pelo valor de um ou mais atributos Ex.: selecionar alunos com Data de nascimento >= 1997 Valores de atributos são dados e portanto podem ser representados em um computador Valdemar Setzer – Análise de dados 4/10/17

8 Representação gráfica de atributos
Atributos com inicial maiúscula e no singular Alunos Registro-de-aluno Nome Data-nascimento Endereço RG CPF Valdemar Setzer – Análise de dados 4/10/17

9 Valdemar Setzer – Análise de dados
Atributos Consulta: selecione Nome, Registro-do-aluno de Alunos onde Data-nascimento >= '1/1/1997' Alunos Registro-do-aluino Nome Data-nascimento Endereço RG CPF Valdemar Setzer – Análise de dados 4/10/17

10 Valdemar Setzer – Análise de dados
Formato de atributo Formatos são restrições de integridade Alunos Número-UNESP Nome Data-nascimento [dd/dd/dddd] Endereço RG CPF [ddd.ddd.ddd-dd] Valdemar Setzer – Análise de dados 4/10/17

11 Valdemar Setzer – Análise de dados
Exercícios Desenhar o conjunto de entidades Disciplinas e seus atributos Idem, Cartão bancário Notar o problema de modelar o número do banco para um sistema de um só banco Valdemar Setzer – Análise de dados 4/10/17

12 Valdemar Setzer – Análise de dados
Atributo composto Alunos Número-UNESP Nome Data-nascimento [dd/dd/dddd] Endereço Lograd-número-compl CEP [ddddd-ddd] Cidade Estado {AC, AL, AM, AP, BA, ...} Valores permitidos Valdemar Setzer – Análise de dados 4/10/17

13 Valdemar Setzer – Análise de dados
Atributo composto Composto de composto Alunos ... ... Endereço Local Logradouro Número Complemento CEP Cidade Valdemar Setzer – Análise de dados 4/10/17

14 Valdemar Setzer – Análise de dados
Atributo composto Vale a pena separar Local em Logradouro, Número e Complemento? Só para validação do logradouro! E usar também o número para validar o CEP Valdemar Setzer – Análise de dados 4/10/17

15 Atributo multivalorado
Como fazer para representar o fato de cada aluno poder ter vários telefones? Atributo multivalorado Assume um conjunto de valores para cada entidade Alunos ... ... * Telefones [(dd) d-dddd-dddd] ... Valdemar Setzer – Análise de dados 4/10/17

16 Valdemar Setzer – Análise de dados
Consulta: selecione Alunos.Nome de Alunos onde (17) *-****-**** em Telefones Valdemar Setzer – Análise de dados 4/10/17

17 Valdemar Setzer – Análise de dados
Exercício Um conjunto de entidades Livros tem atributos multivalorados? O caso dos autores Editora vs. biblioteca Valdemar Setzer – Análise de dados 4/10/17

18 Atributo determinante (“chave”)
ou Um valor de um atributo determinante determina um só elemento do conjunto de entidades Todo atributo determinante deve ter um valor não vazio Alunos Alunos Registro-de-aluno Registro-de-aluno ... ... Valdemar Setzer – Análise de dados 4/10/17

19 Atributo composto determinante
Alunos Registro-de-aluno Identificação CPF Data-nascimento Valdemar Setzer – Análise de dados 4/10/17

20 Valdemar Setzer – Análise de dados
Atributo global É um atributo cujo valor aplica-se a todo o conjunto de entidades, e não a cada entidade do conjunto Número de alunos Alunos Registro-de-aluno Nome ... Valdemar Setzer – Análise de dados 4/10/17

21 Conjuntos de relacionamentos
Alunos matriculam-se em disciplinas Existem associações entre alunos e disciplinas Como representar isso? No modelo conceitual RELACIONAMENTOS Alunos Disciplinas Valdemar Setzer – Análise de dados 4/10/17

22 Conjuntos de relacionamentos
Com sinônimos Alunos Matrículas Disciplinas Conjunto de relacionamentos Matriculados-em Alunos Matrículas Disciplinas Com-matrículas-de Valdemar Setzer – Análise de dados 4/10/17

23 Conjuntos de relacionamentos
Conjuntos de relacionamentos são conjuntos de pares ordenados de elementos de conjuntos de entidades Matrículas = {(A1,D1), (A2,D1), (A1,D2), ...} Pares abstratos! Não podem ser representados em um computador Alunos Matrículas Disciplinas Valdemar Setzer – Análise de dados 4/10/17

24 Conjuntos de relacionamentos
Exemplo de consulta selecione Alunos.Nome de Alunos Matriculados-em Disciplinas onde Disciplinas.Nome = 'Bancos de Dados' Matriculados-em Alunos Matrículas Disciplinas Valdemar Setzer – Análise de dados 4/10/17

25 Multiplicidades em relacionamentos
Ex.: Cada aluno pode estar matriculado em várias disciplinas e cada disciplina pode ter vários alunos matriculados nela Nome errado: “cardinalidade” Matriculados-em N N Alunos Matrículas Disciplinas Com-matrículas-de Valdemar Setzer – Análise de dados 4/10/17

26 Multiplicidades em relacionamentos
Ex.: Cada disciplina pode ser da responsabilidade de um único departamento, que pode ser responsável por várias disciplinas Da-responsabilidade-de N 1 Disciplinas Responsabilidades Departamentos Responsáveis-por Valdemar Setzer – Análise de dados 4/10/17

27 Totalidade de relacionamentos
Ex.: Cada disciplina deve necessariamente ser da responsabili- dade de um único departamento Da-responsabilidade-de N 1 Disciplinas Responsabilidades Departamentos Responsáveis-por Valdemar Setzer – Análise de dados 4/10/17

28 Multiplicidades em relacionamentos
Ex.: Cada departamento é chefiado por uma única pessoa e cada pessoa chefia um único departamento Chefiados-por 1 1 Departamentos Chefias Pessoas Que chefiam Valdemar Setzer – Análise de dados 4/10/17

29 Totalidade de relacionamentos
Ex.: Cada disciplina deve necessariamente ser da responsabili-dade de no mínimo 1 e no máximo 3 departamentos Da-responsabilidade-de N 3 Disciplinas Responsabilidades Departamentos Responsáveis-por Valdemar Setzer – Análise de dados 4/10/17

30 Atributos de relacionamentos
Exemplo de consulta selecione Alunos.Nome de Alunos Matriculados-em Disciplinas onde Disciplinas.Nome = 'Bancos de Dados‘ e Ano = 2015 Matriculados-em N N Alunos Matrículas Disciplinas Nome Ano Nome Valdemar Setzer – Análise de dados 4/10/17

31 Relacionamentos repetidos
Um aluno pode fazer várias matrículas em uma disciplina (em semestres diferentes) Valores de Ano e Semestre distinguem um par do outro Matriculados-em N N Alunos Matrículas Disciplinas Nome Ano Nome Semestre {1,2} Valdemar Setzer – Análise de dados 4/10/17

32 Valdemar Setzer – Análise de dados
Autorelacionamentos Disciplinas N N É-de Tem-como Pré-requisitos Tipo {Serial, Paralelo} Valdemar Setzer – Análise de dados 4/10/17

33 Valdemar Setzer – Análise de dados
Autorelacionamentos Exercícios 1. Modelar funcionários e seus gerentes Quais as multiplicidades? 2. Modelar peças e seus componentes e depois adicionar componentes alternativos Valdemar Setzer – Análise de dados 4/10/17

34 Relacionamento triplo
Até aqui vimos relacionamentos duplos, relacionando 2 conjuntos de entidades Exemplo de relacionamento triplo Alunos fazem projetos em disciplinas Valdemar Setzer – Análise de dados 4/10/17

35 Relacionamento triplo
(Projetos são propostos pelos alunos) E o caso dos alunos que não fazem projetos mas estão matriculados em disciplinas? Projetos N N N Alunos A-D-P Disciplinas Valdemar Setzer – Análise de dados 4/10/17

36 Relacionamento triplo
Vamos ver uma solução melhor Projetos N N N Alunos A-D-P Disciplinas N N Matrículas Valdemar Setzer – Análise de dados 4/10/17

37 Agregações de relacionamentos
Projetos N A-D-P N N N Matrículas Disciplinas Alunos Valdemar Setzer – Análise de dados 4/10/17

38 Agregações de relacionamentos
Atenção: Se um relacionamento de um conjunto de entidades com uma agregação é total do lado dessa agregação, trata-se de um relacionamento triplo! Exercício 1. Modelar como relacionamento triplo correntistas, contas correntes e cartões de crédito 2. Modificar para usar uma agregação Por que usá-la? Valdemar Setzer – Análise de dados 4/10/17

39 Especialização/generalização
Pessoas Nome CPF ... X x: exclusivo Alunos Docentes Funcionários RA Categoria Função Valdemar Setzer – Análise de dados 4/10/17

40 Agregações de relacionamentos
Exercício Para um banco, modelar pessoas especializadas em correntistas, tomadores (de empréstimos) e avalistas (de empréstimos) Essa especialização será exclusiva (x) ou inclusiva (o)? Valdemar Setzer – Análise de dados 4/10/17

41 Valdemar Setzer – Análise de dados
4/10/17

42 Modelo operacional relacional
Pode ser introduzido em um computador Os dados devem ser apenas valores dos atributos do modelo conceitual Modelo relacional Cada arquivo pode ser representado como uma tabela Cada tabela é a representação de um conjunto de n-plas ordenadas de valores Isto é, uma RELAÇÃO no sentido matemático Valdemar Setzer – Análise de dados 4/10/17

43 Modelo operacional relacional
Relação no sentido matemático Ex: R = {(a1,b1,c1),(a2,b3,c1),(a1,b2,c2)} A = {a1,a2} B = {b1,b2,b3} C = {c1,c2} R  A x B x C (produto cartesiano) Explicação errada: “Relação” pois as tabelas são “relacionadas” Valdemar Setzer – Análise de dados 4/10/17

44 Representação relacional de entidades
Chave Alunos Registro-de-aluno Nome [30c] Data-nascimento [dd/dd/dddd] Endereço RG [dddddddd-d] CPF [ddd.ddd.ddd-dd] Cada aluno é representado pelos valores de seus atributos formando uma linha a tabela Um atributo chave deve ter valores não vazios e únicos Colocar todos os formatos Valdemar Setzer – Análise de dados 4/10/17

45 Valdemar Setzer – Análise de dados
Representação como tabela Alunos RA Nome Data-nascim Endereço RG CPF 12345 João 04/10/97 R. dos Joões, 6 23456 Maria 04/10/99 R. das Marias, 1 34567 04/10/96 R. dos Zés,1001 Alunos = {(12345, João, 04/10/98, , ), (23456, Maria, 04/10/99,R. das Marias, ...)} Atributos: RA, Nome, Data-nascim, ... Domínio: valores que podem ser assumidos por um atributo Valdemar Setzer – Análise de dados 4/10/17

46 Representação relacional de relacionamentos
Da-responsabilidade-de N 1 Disciplinas Responsabilidades Departamentos Responsáveis-por N 1 Disciplinas Departamentos Código Sigla Nome ^ AT-Sigla-depto Atributo transposto ou “chave estrangeira” (arghhh!) Valdemar Setzer – Análise de dados 4/10/17

47 Representação relacional de relacionamentos
Ou N 1 Disciplinas Responsabilidades Departamentos N 1 Disciplinas AT-Sigla-depto Sigla Departamentos Código Sigla Nome ^ AT-Sigla-depto Nome Valdemar Setzer – Análise de dados 4/10/17

48 Representação relacional de relacionamentos
Portanto, a implementação de relacionamentos é feita por meio de ligações lógicas entre tabelas (ou: relações) Essas ligações são feitas por transposição de valores de chaves N 1 Disciplinas AT-Sigla-depto Sigla Departamentos Código Sigla Nome ^ AT-Sigla-depto Nome Valdemar Setzer – Análise de dados 4/10/17

49 Representação relacional de relacionamentos
Ou Da-responsabilidade-de N 1 Disciplinas Responsabilidades Departamentos Responsáveis-por N 1 Disciplinas Sigla Departamentos Código Sigla Nome ^ AT-Sigla Nome Valdemar Setzer – Análise de dados 4/10/17

50 Representação relacional de relacionamentos
Alunos Matrículas Disciplinas Ano 1 N N 1 Alunos Matrículas Disciplinas Registro-de-aluno Sigla Ano Nome Nome ^ AT-Sigla ^ AT-RA Relação auxiliar Valdemar Setzer – Análise de dados 4/10/17

51 Valdemar Setzer – Análise de dados
Consulta em SQL select Alunos.Nome from Alunos, Matrículas, Disciplinas where Ano = 2017 and Disciplinas.Nome = “Bancos de Dados” and Registro-de-aluno = RA and Sigla-disc = Sigla 1 N N 1 Alunos Matrículas Disciplinas Registro-de-aluno Sigla Ano Nome Nome ^ AT-Sigla-disc ^ AT-RA Equação da junção (join) Valdemar Setzer – Análise de dados 4/10/17

52 Valdemar Setzer – Análise de dados
SQL estendido A equação do join em cada consulta é um absurdo! Ela resulta de uma estrutura de dados Que não se altera! Correto deveria ser: Declarar a equação do join no dicionário de dados, ex.: join Registro-de-aluno = RA and Sigla-disc = Sigla as Matrículas synonims Matrículas, Matriculados-em, Que-matriculam Valdemar Setzer – Análise de dados 4/10/17

53 Valdemar Setzer – Análise de dados
SQL estendido A consulta seria agora select Alunos.Nome from Alunos Matriculados-em Disciplinas where Ano = 1917 and Disciplinas.Nome = “Bancos de Dados” Melhor ainda select Nome of Alunos where Ano = 2017 and Nome of Disciplinas = “Bancos de Dados” Valdemar Setzer – Análise de dados 4/10/17

54 Implementação de atributos multivalorados
Alunos Alunos 1 * Telefones N Telefones Valdemar Setzer – Análise de dados 4/10/17

55 Implementação de autorelacionamentos
Disciplinas Disciplinas N N 1 1 É-de Tem-como É-de Tem-como N N Pré-requisitos Pré-requisitos Tipo {Serial, Paralelo) AT-É-prereq-de AT-Tem-como-prereq Tipo {Serial, Paralelo) Valdemar Setzer – Análise de dados 4/10/17

56 Valdemar Setzer – Análise de dados
Agregações Projetos N A-D-P N N N Matrículas Disciplinas Alunos Valdemar Setzer – Análise de dados 4/10/17

57 Agregações no modelo relacional
Projetos 1 N A-D-P N 1 1 N N 1 Alunos Matrículas Disciplinas Valdemar Setzer – Análise de dados 4/10/17

58 Especialização/generalização
Pessoas Nome CPF ... X Alunos Docentes Funcionários RA Categoria Função Valdemar Setzer – Análise de dados 4/10/17

59 Especialização no modelo relacional
Pessoas 1 x 1 1 1 Alunos Docentes Funcionários Valdemar Setzer – Análise de dados 4/10/17

60 Valdemar Setzer – Análise de dados
4/10/17

61 Valdemar Setzer – Análise de dados
4/10/17

62 Gerenciador de bancos de dados (GBD)
Recomendo aos que não usam começarem com o MS-Access, pois tem recursos para Declaração das tabelas Visualização gráfica das tabelas Especificação gráfica das ligações lógicas entre as tabelas Desenhador de telas de entrada e saída de dados Desenhador de relatórios Geração de consultas Valdemar Setzer – Análise de dados 4/10/17

63 Gerenciador de bancos de dados (GBD)
O MS-Access elimina boa parte da programação Aceleração do desenvolvimento Maior confiabilidade Valdemar Setzer – Análise de dados 4/10/17

64 Criação de tabela em Access
Valdemar Setzer – Análise de dados 4/10/17

65 Criação de tabela em Access
Valdemar Setzer – Análise de dados 4/10/17

66 Exemplo de tabelas em Access
Valdemar Setzer – Análise de dados 4/10/17

67 Exemplo de ligações em MS-Access
Valdemar Setzer – Análise de dados 4/10/17

68 Valdemar Setzer – Análise de dados
Outro modelo: UML Valdemar Setzer – Análise de dados 4/10/17

69 Análise de sistema administrativos
Começar com o modelo conceitual (MER) gráfico Colocar apenas os atributos que caracterizam cada entidade e relacionamento Fazer uma lista com todos os atributos Discutir o modelo conceitual com o cliente Valdemar Setzer – Análise de dados 4/10/17

70 Análise de sistema administrativos
Fazer o modelo relacional gráfico Projetar todas as telas e relatórios Usando prototipadores Discutir as telas e relatórios com o cliente, que deve assinar a versão final (certificação) Se ele pedir alterações posteriores, elas têm que ser cobradas adicionalmente Valdemar Setzer – Análise de dados 4/10/17

71 Análise de sistema administrativos
Implementar o modelo operacional usando um GBD Projetar testes Fazer a programação necessária Com farta documentação dos programas Usar meu sistema de documentação de programas em 3 níveis de abstração? Valdemar Setzer – Análise de dados 4/10/17

72 Análise de sistema administrativos
Mostrar ao cliente, que deve fazer testes Ele certamente vai querer modificações Nas modificações, começar do modelo conceitual Manter toda a documentação atualizada Isso exige uma fantástica autodisciplina Pois o computador induz indisciplina Veja-se como os programadores programam Essa é uma das misérias da computação Valdemar Setzer – Análise de dados 4/10/17

73 Valdemar Setzer – Concentração e meditação
ONE-MINUTE PAPER ESCREVER NUM PEDAÇO DE PAPEL: 1. O QUE APRENDI DE MAIS IMPORTANTE? 2. QUAL A MAIOR DÚVIDA QUE FICOU? 3. COMENTÁRIOS Valdemar Setzer – Concentração e meditação 28/9/17

74 Análise de sistema administrativos
Esse método é mais demorado e mais caro Mas produz sistemas Muito mais próximos do que o cliente deseja Muito mais confiáveis Muito mais fáceis de serem modificados e mantidos Muito mais baratos a longo prazo Valdemar Setzer – Análise de dados 4/10/17

75 Análise de sistema administrativos
Grande problema: Clientes e gerentes querem os sistemas para ontem Pois não sabem que computação é algo extremamente sério E perigoso! Valdemar Setzer – Análise de dados 4/10/17

76 Valdemar Setzer – Análise de dados
A MODELAGEM CONCEITUAL DE DADOS COMO FERRAMENTA BÁSICA PARA A ANÁLISE DE SISTEMAS  Valdemar W. Setzer Ver esta apresentação em ou buscar: setzer apresentacoes Valdemar Setzer – Análise de dados 4/10/17

77 ESPERO QUE VOCÊS NÃO CAIAM NA MISÉRIA DA COMPUTAÇÃO!
F I M Valdemar Setzer – Análise de dados 4/10/17


Carregar ppt "Valdemar Setzer – Análise de dados"

Apresentações semelhantes


Anúncios Google