programação e sistemas da informação

47
Programação e Sistemas Programação e Sistemas da Informação da Informação Módulo 13 Módulo 13 Técnicas de Modelação de Dados

Upload: christopher-blair

Post on 03-Jan-2016

15 views

Category:

Documents


0 download

DESCRIPTION

Módulo 13 Técnicas de Modelação de Dados. Programação e Sistemas da Informação. Partilha de Dados. Quando a implantação da Informática nas organizações ocorre de forma gradual, é provável que ocorram alguns problemas. Suponha que uma indústria execute três funções básicas:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programação e Sistemas da Informação

Programação e Programação e Sistemas da Sistemas da InformaçãoInformação

Módulo 13Módulo 13

Técnicas de Modelação de Dados

Page 2: Programação e Sistemas da Informação

Partilha de DadosPartilha de Dados

Quando a implantação da Informática nas organizações ocorre de forma gradual, é provável que ocorram alguns problemas.

Suponha que uma indústria execute três funções básicas:

Vendas: concentra as actividades relativas ao contacto com os clientes, como fornecimento de cotações de preços, vendas e a disponibilidade de produtos.

Produção: concentra as actividades relativas à produção propriamente dita, como planeamento da produção, ou seja, dos produtos e controlo do que foi produzido.

Compras: concentra as actividades relativas à aquisição de matérias-primas necessárias à produção, como cotações de preços junto a fornecedores, etc.

Page 3: Programação e Sistemas da Informação

SISTEMA PRODUÇÃO

SISTEMA VENDAS

SISTEMA DE COMPRAS

O que vai PRODUZIR?

PRODUTO

É preciso saber quais os componentes dos produtos e

como são produzidos.

O que vai VENDER?

PRODUTO

É preciso saber o preço do produto, prazo de validade,

stock...

O que vai COMPRAR?

MATÉRIA-PRIMA do PRODUTO

É preciso saber que componentes serão

adquiridos para fabricar o produto

Arquivos Produção Arquivos Vendas Arquivos Compras

Partilha de DadosPartilha de Dados

Page 4: Programação e Sistemas da Informação

Partilha de DadosPartilha de Dados

Se cada uma das funções for informatizada de forma separada, pode ocorrer que, para cada uma delas, seja criado um arquivo separado para PRODUTOS.

Dados de diferentes aplicações não estão integrados; Dados estão projectados para atender uma aplicação

específica.

SISTEMA PRODUÇÃO

SISTEMA VENDAS

SISTEMA DE COMPRAS

Arquivos Produção Arquivos Vendas Arquivos Compras

Produto Produto Produto

Page 5: Programação e Sistemas da Informação

Problemas da Falta de Integração de Problemas da Falta de Integração de DadosDados

Redundância ControladaControlada e Não ControladaNão Controlada de Dados

Redundância de DadosRedundância de Dados - o mesmo objecto da realidade

é armazenado mais de uma vez na base de dados.

Ex: Produtos

Redundância ControladaControlada - acontece quando o software tem conhecimento da múltipla representação e garante a sincronia entre as diversas representações. Ou seja, actualiza automaticamente os dados quando necessário.

Ex: Sistemas distribuídos - um mesmo dado é armazenado em vários computadores, permitindo acesso rápido a partir de qualquer um deles.

Page 6: Programação e Sistemas da Informação

Problemas da Falta de Integração de Problemas da Falta de Integração de DadosDados

Redundância Não ControladaNão Controlada - acontece quando a responsabilidade pela manutenção da sincronia entre as diversas representações de um dado está com o utilizador

.Redundância Não Controlada leva a :Redigitação de Dados -Redigitação de Dados - o mesmo dado é digitado várias vezes no sistema. Este trabalho repetitivo pode levar a erros; Inconsistência dos Dados - Inconsistência dos Dados - os dados podem não representar correctamente a realidade. Imagine que o utilizador alterou o preço de um produto no sistema de compra mas não alterou no sistema de vendas. Dificuldade de extracção de informações - Dificuldade de extracção de informações - os dados projectados para atender uma aplicação específica podem gerar dificuldade para o cruzamento dos dados.

Page 7: Programação e Sistemas da Informação

SoluçãoSolução

PARTILHA DE DADOSPARTILHA DE DADOS

A solução para evitar a redundância NÃO CONTROLADA de informações.

SISTEMA VENDAS

BASE DE DADOS

Produtos

SISTEMA PRODUÇÃO

SISTEMA DE COMPRAS

Assim, cada dado é armazenado uma ÚNICA VEZ, sendo acedida pelos vários sistemas que dele necessitam.

Page 8: Programação e Sistemas da Informação

Partilha de DadosPartilha de Dados

SISTEMA PRODUÇÃO

SISTEMA VENDAS

SISTEMA DE COMPRAS

Arquivos Produção Arquivos Vendas Arquivos Compras

Produto Produto Produto

SISTEMA VENDAS

BASE DE DADOS

Produto

SISTEMA PRODUÇÃO

SISTEMA DE COMPRAS

Page 9: Programação e Sistemas da Informação

BASE DE DADOS

É o nome dado ao conjunto de ficheiros integrados que atendem a um conjunto de sistemas

Conjunto de dados integrados que tem por objectivo responder a uma comunidade de utilizadores

“Uma colecção de dados operacionais inter-relacionados. Estes dados são armazenados de forma independente dos programas que os

utilizam, servindo assim a múltiplas aplicações de uma organização.” (Kort, Henry F.)

Base de DadosBase de Dados

Page 10: Programação e Sistemas da Informação

Base de DadosBase de Dados

O que muda com o aparecimento das Bases de Dados, ou seja, com a partilha dos Dados?

Acesso por múltiplos programas - Acesso por múltiplos programas - pode haver mais de uma equipa de desenvolvimento envolvida no desenvolvimento de uma aplicação

Os programas devem garantir a Restrição de Integridade Os programas devem garantir a Restrição de Integridade - - ou seja, garantir a veracidade e a correcção dos dados. Ex: Um aluno não pode estar matriculado em dois cursos A BD pode ser acedida concorrentemente por múlti-A BD pode ser acedida concorrentemente por múlti- plos utilizadores - plos utilizadores - os programas devem implementar o controlo de acesso concorrente

Page 11: Programação e Sistemas da Informação

Base de DadosBase de Dados

Restrições de Acesso - Restrições de Acesso - nem todos os utilizadores podem aceder a qualquer informação. O programa deve implementar o controlo de acesso, ou seja, quem tem permissão para aceder a quê

Dados são de importância vital e não podem ser perdi-Dados são de importância vital e não podem ser perdi- dos - dos - mecanismos simples como cópias de “backup” não são suficientes. Caso haja uma falha, a base de dados deve ser recuperada rapidamente. Os programas devem implementar mecanismos de tolerância a falhas

Estruturas de dados mais complexas -Estruturas de dados mais complexas - os arquivos devem ser projectados para atender a diferentes necessidades dos sistemas, portanto, há que se tomar

bastante cuidado na fase de definição dos DADOS.

Page 12: Programação e Sistemas da Informação

Sistema de Gestão de Base de DadosSistema de Gestão de Base de Dados

SGBD SGBD Software que incorpora as funções de definição, recuperação e alteração de dados numa base de dados

Aplicação

SGBD

Base de Dados

Software que serve para armazenar e aceder a dados numa base de dados

Page 13: Programação e Sistemas da Informação

Sistema de Gestão de Base de DadosSistema de Gestão de Base de Dados

Independência de dados - Independência de dados - SGBD oferece isolamento das aplicações em relação aos dados, ou seja, altera- ções no modelo de dados (estrutura) afeta pouco as aplicações

Abstracção de dados - Abstracção de dados - aplicações não se preocupam com detalhes físicos de implementação (localização no meio de armazenamento, existência de índices, caminhos de acesso..)

Controlo de segurança -Controlo de segurança - que utilizador pode fazer o quê sobre qual dado

Tolerância a falhas -Tolerância a falhas - recuperação em caso de falha imperceptível ao utilizador

Controlo a acesso concorrente -Controlo a acesso concorrente - muitos utilizadores acedem à base de dados ao mesmo tempo

Page 14: Programação e Sistemas da Informação

Projeto de Base de Dados - AplicaçãoProjeto de Base de Dados - Aplicação

Onde vou aplicar isto?

Quando estudamos as metodologias de desenvolvimento de sistemas, estudamos análise de requisitos e definimos o que é necessário ser executado, que rotinas devem ser desenvolvidas para atender às necessidades do cliente, isto é, quais as informações que o cliente necessita para ter sucesso no seu negócio.

Porém, para obter estas informações, é preciso definir quais são os dados que devem ser armazenados na base de dados para que, posteriormente, possamos devolver ao cliente, as informações que satisfaçam as exigências definidas por ele, ou seja, as necessidades de informação do negócio.

Page 15: Programação e Sistemas da Informação

Abordagem Entidade-RelacionamentoAbordagem Entidade-Relacionamento A primeira etapa do projecto de uma base de dados é a

construção de um modelo conceptual, a chamada Modelagem ConceptualModelagem Conceptual ou Projecto ConceptualProjecto Conceptual.

A Modelagem ou Projecto ConceptualModelagem ou Projecto Conceptual tem por objectivo obter uma descrição abstrata, independente de implementação em computador, dos dados que serão armazenados na base de dados.

Projecto CONCEPTUAL

Projecto CONCEPTUAL

Projecto LÓGICO

Projecto LÓGICO

Projecto FÍSICO

Projecto FÍSICO

Page 16: Programação e Sistemas da Informação

Abordagem Entidade-RelacionamentoAbordagem Entidade-Relacionamento Dentre as técnicas mais difundidas e utilizadas para a

modelagem conceptual dos dados destacam-se:– a Abordagem Entidade-Relacionamento, definida por Peter

Chen em 1976, e que segue a metodologia de desenvolvimento Estruturado de Sistemas

– a UML (Unified Modeling Language), que é uma metodologia de desenvolvimento Orientada a Objectos

A UML é uma excelente metodologia porém, até este momento, depara-se com um grande problema: Ainda não Ainda não existe uma Base de Dados totalmente Orientada a existe uma Base de Dados totalmente Orientada a Objectos. Objectos.

Page 17: Programação e Sistemas da Informação

Abordagem Entidade-RelacionamentoAbordagem Entidade-Relacionamento

Para solucionar tal problema, a UML utiliza um procedimento denominado “Mapeamento Objecto-Mapeamento Objecto-RelacionalRelacional”, de forma a permitir que as estruturas definidas no modelo Orientado a Objectos possam ser implementadas numa Base de Dados Relacional.

O Mapeamento, portanto, “transforma” (converte) o Diagrama de Classes num Modelo Entidade-Relacionamento (ER). Daí a necessidade de se conhecer o conceito de ER.

Page 18: Programação e Sistemas da Informação

MODELO ENTIDADE-RELACIONAMENTOMODELO ENTIDADE-RELACIONAMENTO

Peter Chen, ao formular a proposta do modelo E-R baseou-se na compreensão da realidade em que se situava o problema e não na visão de um sistema de aplicação.

CHEN preocupou-se em destacar a importância de reconhecer os objectos (coisas) que compõem a realidade, independentemente de se preocupar com formas de tratamento da informação, procedimentos, programas, etc

Estes objectos ele classificou em dois grupos:

ENTIDADE e RELACIONAMENTO

Page 19: Programação e Sistemas da Informação

Faz Contém

O facto acima pode acontecer em qualquer realidade. Ele deve, portanto, ser retratado através de elementos básicos que compõem o Modelo ER.

PEDIDO

CLIENTE PRODUTO

Abordagem ENTIDADE-Abordagem ENTIDADE-RELACIONAMENTORELACIONAMENTO

Page 20: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-R

Procura simular a realidade: esta é vista como um conjunto de entidades, interagindo umas com as outras, através de um conjunto de associações ou relações.

Page 21: Programação e Sistemas da Informação

PSI – Módulo 13

Etapas do Modelo E-REtapas do Modelo E-R

Etapa 1 – Diagramas E-R:Análise das necessidades de informação e elaboração do Modelo E-R.

Etapa 2 – Tabelas não Normalizadas:Transformação do Diagrama E-R num conjunto de Tabelas

Etapa 3 – Tabelas Normalizadas: Normalização das Tabelas

Page 22: Programação e Sistemas da Informação

MODELO ERMODELO ER

Os componentes básicos do Modelo ER são:

ENTIDADESENTIDADES

RELACIONAMENTOSRELACIONAMENTOS

ATRIBUTOSATRIBUTOS

Page 23: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-R

Entidade: Objectos ou conceitos que possuem um conjunto de características comuns, compostas ou caracterizadas por um conjunto de atributos. Corresponde a uma tabela de uma Base de Dados.

O número de atributos de uma entidade chama-se grau de relação

Page 24: Programação e Sistemas da Informação

Modelo ER: ENTIDADEModelo ER: ENTIDADE

ENTIDADE ENTIDADE

“Conjunto de objectos da realidade modelada sobre os quais se deseja manter informações na Base de Dados” (Heuser). Considera-se objecto qualquer coisa perceptível ou manipulável.

É uma “coisa” ou um “objecto” no mundo real que pode ser identificada de forma única em relação aos outros objectos;

Page 25: Programação e Sistemas da Informação

Modelo ER: ENTIDADEModelo ER: ENTIDADE

ENTIDADE ENTIDADE

Uma ENTIDADE é uma representação de um CONJUNTO DE DADOS do negócio, um conjunto de informações com as mesmas características; as suas instâncias (ocorrências), são as representações destes dados.

É representada através de um rectângulo, com o nome da entidade em seu interior

CLIENTECLIENTE PRODUTOPRODUTO FUNCIONÁRIOFUNCIONÁRIO

NOTA FISCAL

NOTA FISCAL

ORDEM DE PRODUÇÃO

ORDEM DE PRODUÇÃO

Page 26: Programação e Sistemas da Informação

Modelo ER: ENTIDADEModelo ER: ENTIDADE

Exemplo:

CLIENTE

O rectângulo CLIENTE representa o conjunto de todas as pessoas sobre as quais se deseja manter informações na BD.

Este objecto particular (um dos clientes) é chamado de OCORRÊNCIA de uma entidade, neste caso CLIENTE.

Page 27: Programação e Sistemas da Informação

Modelo ER: ENTIDADEModelo ER: ENTIDADE

As instâncias (ocorrências) de uma entidade não são representadas no DER mas são semanticamente interpretadas no mesmo, ou seja, ao visualizar uma entidade, devemos entendê-la como uma tabela de dados, onde cada linha representa uma instância da mesma.

FUNCIONÁRIOFUNCIONÁRIO

Matrícula Nome Data Admissão

4456 João Carlos da Silva 29/04/91

6689 Sílvia de Oliveira 30/02/92

1203 Carla Martinez 14/04/92

Page 28: Programação e Sistemas da Informação

Modelo ER: ENTIDADEModelo ER: ENTIDADE

Exemplo:

Quais são as “coisas” que vocês conseguem identificar nos LABORATÓRIOS de INFORMÁTICA?

Computadores Mesas Pessoas Quadro Canetas

Page 29: Programação e Sistemas da Informação

Modelo ER: ENTIDADEModelo ER: ENTIDADE

PERGUNTA 1 !!

Todas estas “coisas” identificadas deveriam ter os seus dados

armazenados, caso nós quiséssemos desenvolver

um Sistema para Controlar os Equipamentos

dos Laboratórios de Informática?

NÃO!!!

Pois se quero controlar equipamentos,

a entidade PESSOA, por exemplo, não

teria importância alguma no contexto

Page 30: Programação e Sistemas da Informação

Modelo ER: ENTIDADEModelo ER: ENTIDADE

PERGUNTA 2!!

Se ao invés do caso anterior, nós quiséssemos desenvolver um sistema para controlar não somente os Equipamentos existentes mas também a Utilização dos Laboratórios ?

Neste caso temos que lembrar que

quem utiliza, ou seja, as PESSOAS são

de interesse do sistema

Page 31: Programação e Sistemas da Informação

Modelo ER: PROPRIEDADESModelo ER: PROPRIEDADES

Além de especificar as entidades, ou seja, os objectos sobre os quais se deseja manter informações, o MER deve permitir a especificação das PROPRIEDADES destas entidades.

Estas propriedades são :

Participar num Relacionamento

Ter um ATRIBUTO

Page 32: Programação e Sistemas da Informação

Modelo ER: RELACIONAMENTOModelo ER: RELACIONAMENTO

RELACIONAMENTO RELACIONAMENTO

Conjunto de associações entre entidades

DEPARTAMENTODEPARTAMENTO PESSOAPESSOALOTAÇÃO

• Um conjunto de objectos classificados como pessoa (Entidade PESSOA) ;• Um conjunto de objectos classificados como departamento (Entidade DEPARTAMENTO);• Um conjunto de ASSOCIAÇÕES, cada uma ligando um departamento a uma pessoa (relacionamento LOTAÇÃO);

Page 33: Programação e Sistemas da Informação

Modelo ER: RELACIONAMENTOModelo ER: RELACIONAMENTO

No nosso dia-a-dia convivemos com os mais variados tipos de entidades (objectos reais), que são descritos por uma série de atributos (características) e que expressam uma realidade de existência.

Estas entidades do dia-a-dia estão relacionadas de forma a mostrar a realidade com um conteúdo lógico

As pessoas Moram em Apartamentos; Os apartamentos Formam Condomínios; Os condomínios Localizam-se em Ruas ou Avenidas; As Avenidas e Ruas Estão numa Cidade

Page 34: Programação e Sistemas da Informação

Modelo ER: RELACIONAMENTOModelo ER: RELACIONAMENTO

RELACIONAMENTO RELACIONAMENTO

Assim como ocorre com as entidades, temos as ocorrências ou instâncias de relacionamentos.

Isto pode ser melhor observado através do Diagrama de Ocorrências.

Page 35: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRepresentação das Entidade e AtributosRepresentação das Entidade e Atributos

Automóvel

Livros

Automovel (Marca, Modelo, Ano, Cor, Cilindrada, Nº quilómetros)

Livro (Título, Nº Páginas, Anos, Autor, Língua)

Page 36: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRelacionamentos entre entidadesRelacionamentos entre entidades

Relações unárias

Relações binárias

Relações ternárias

Empregados

R

Clientes

R Contas

Realizadores Filmes

Actores

R

Page 37: Programação e Sistemas da Informação

Um para Um – 1:1Um para Um – 1:1 Uma entidade em A está associada no máximo a uma

entidade em B, e uma entidade em B está associada a no máximo uma entidade em A.

a1

a2

a3

a4

b1

b2

b3

b4

Page 38: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRelação Binária 1:1 (Um para Relação Binária 1:1 (Um para

Um)Um)

Leitura:

1 Professor lecciona uma e uma só Disciplina 1 Disciplina é leccionada por um e um só Professor

Page 39: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRelação Binária 1:1 (Um para Relação Binária 1:1 (Um para

Um)Um)

Page 40: Programação e Sistemas da Informação

Um para muitos – 1:NUm para muitos – 1:N Uma entidade em A está associada a várias entidades em

B. Uma entidade em B, entretanto, deve estar associada no máximo a uma entidade em A.

a1

a2

b1

b2

b3

b4

Page 41: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRelação Binária 1:N (Um para Relação Binária 1:N (Um para

Vários)Vários)

Leitura:

Num Departamento trabalham vários Empregados 1 Empregado trabalha num e num só Departamento

Page 42: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRelação Binária 1:N (Um para Relação Binária 1:N (Um para

Vários)Vários)

Page 43: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRelação Binária 1:N (Um para Relação Binária 1:N (Um para

Vários)Vários)

Page 44: Programação e Sistemas da Informação

Muitos para muitos – N:N Muitos para muitos – N:N ou M:Nou M:N

Uma entidade em A está associada a qualquer número de entidades em B e uma entidade em B está associada a um número qualquer de entidades em A.

a1

a2

a3

a4

b1

b2

b3

b4

Page 45: Programação e Sistemas da Informação

PSI – Módulo 13

Leitura:

1 Autor escreve vários Livros1 Livro é escrito por vários Autores

Modelo E-RModelo E-RRelação Binária N:N (Vários para Vários)Relação Binária N:N (Vários para Vários)

Page 46: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRelação Binária N:N (Vários para Vários)Relação Binária N:N (Vários para Vários)

Page 47: Programação e Sistemas da Informação

PSI – Módulo 13

Modelo E-RModelo E-RRelação Binária N:N (Vários para Vários)Relação Binária N:N (Vários para Vários)