480 likes | 576 Views
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:.
E N D
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: 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.
Partilha de Dados SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS Arquivos Produção Arquivos Vendas Arquivos Compras O que vai PRODUZIR? PRODUTO É preciso saber quais os componentes dos produtos e como são produzidos. O que vai COMPRAR? MATÉRIA-PRIMA do PRODUTO É preciso saber que componentes serão adquiridos para fabricar o produto O que vai VENDER? PRODUTO É preciso saber o preço do produto, prazo de validade, stock...
Partilha 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. SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS Arquivos Produção Arquivos Vendas Arquivos Compras Produto Produto Produto • Dados de diferentes aplicações não estão integrados; • Dados estão projectados para atender uma aplicação específica.
Problemas da Falta de Integração de Dados • Redundância de Dados - o mesmo objecto da realidade é armazenado mais de uma vez na base de dados. Ex: Produtos Redundância Controlada e Não Controlada de Dados Redundância Controlada - 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.
Problemas da Falta de Integração de Dados Redundância Nã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 - o mesmo dado é digitado várias vezes no sistema. Este trabalho repetitivo pode levar a erros; • 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 - os dados projectados para atender uma aplicação específica podem gerar dificuldade para o cruzamento dos dados.
Solução SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS BASE DE DADOS Produtos A solução para evitar a redundância NÃO CONTROLADAde informações. PARTILHA DE DADOS Assim, cada dado é armazenado uma ÚNICA VEZ, sendo acedida pelos vários sistemas que dele necessitam.
Partilha de Dados SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS Arquivos Compras Arquivos Produção Arquivos Vendas Produto Produto Produto BASE DE DADOS Produto
É 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 Base de Dados BASE DE DADOS “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 Dados O que muda com o aparecimento das Bases de Dados, ou seja, com a partilha dos Dados? • 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 - 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- plos utilizadores - os programas devem implementar o controlo de acesso concorrente
Base de Dados • 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- 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 - 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.
Sistema de Gestão de Base de Dados SGBD Software que incorpora as funções de definição, recuperação e alteração de dados numa base de dados Software que serve para armazenar e aceder a dados numa base de dados Aplicação SGBD Base de Dados
Sistema de Gestão de Base 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 - 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 - que utilizador pode fazer o quê sobre qual dado • Tolerância a falhas - recuperação em caso de falha imperceptível ao utilizador • Controlo a acesso concorrente - muitos utilizadores acedem à base de dados ao mesmo tempo
Projeto 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 armazenadosna 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.
Abordagem Entidade-Relacionamento A primeira etapa do projecto de uma base de dados é a construção de um modelo conceptual, a chamada Modelagem Conceptual ou Projecto Conceptual. Projecto CONCEPTUAL Projecto LÓGICO Projecto FÍSICO • A Modelagem 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.
Abordagem 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 existe uma Base de Dados totalmente Orientada a Objectos.
Abordagem Entidade-Relacionamento • Para solucionar tal problema, a UML utiliza um procedimento denominado “Mapeamento Objecto-Relacional”, 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.
MODELO 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
Abordagem ENTIDADE-RELACIONAMENTO Faz Contém PEDIDO CLIENTE PRODUTO 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.
PSI – Módulo 13 Modelo 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.
PSI – Módulo 13 Etapas 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
MODELO ER • Os componentes básicos do Modelo ER são: ENTIDADES RELACIONAMENTOS ATRIBUTOS
PSI – Módulo 13 O número de atributos de uma entidade chama-se grau de relação Modelo 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.
Modelo ER: 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;
Modelo ER: 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 CLIENTE PRODUTO FUNCIONÁRIO NOTA FISCAL ORDEM DE PRODUÇÃO
Modelo ER: ENTIDADE 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. Exemplo: CLIENTE
Modelo 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Á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
Modelo ER: ENTIDADE • Exemplo: • Quais são as “coisas” que vocês conseguem identificar nos LABORATÓRIOS de INFORMÁTICA? • Computadores • Mesas • Pessoas • Quadro • Canetas
Modelo ER: ENTIDADE NÃO!!! Pois se quero controlar equipamentos, a entidade PESSOA, por exemplo, não teria importância alguma no contexto 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?
Modelo 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
Modelo 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
Modelo ER: RELACIONAMENTO • RELACIONAMENTO • Conjunto de associações entre entidades LOTAÇÃO DEPARTAMENTO PESSOA • 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);
Modelo 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
Modelo ER: 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.
PSI – Módulo 13 Automóvel Livros Modelo E-RRepresentação das Entidade e Atributos Automovel (Marca, Modelo, Ano, Cor, Cilindrada, Nº quilómetros) Livro (Título, Nº Páginas, Anos, Autor, Língua)
PSI – Módulo 13 Realizadores Filmes R Actores Empregados R Clientes R Contas Modelo E-RRelacionamentos entre entidades • Relações unárias • Relações binárias • Relações ternárias
Um 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. b1 b2 b3 b4 a1 a2 a3 a4
PSI – Módulo 13 Modelo E-RRelação Binária 1:1 (Um para Um) • Leitura: • 1 Professor lecciona uma e uma só Disciplina • 1 Disciplina é leccionada por um e um só Professor
PSI – Módulo 13 Modelo E-RRelação Binária 1:1 (Um para Um)
Um 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. b1 b2 b3 b4 a1 a2
PSI – Módulo 13 Modelo E-RRelação Binária 1:N (Um para Vários) • Leitura: • Num Departamento trabalham vários Empregados • 1 Empregado trabalha num e num só Departamento
PSI – Módulo 13 Modelo E-RRelação Binária 1:N (Um para Vários)
PSI – Módulo 13 Modelo E-RRelação Binária 1:N (Um para Vários)
Muitos para muitos – N:N ou 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. b1 b2 b3 b4 a1 a2 a3 a4
PSI – Módulo 13 Modelo E-RRelação Binária N:N (Vários para Vários) • Leitura: • 1 Autor escreve vários Livros • 1 Livro é escrito por vários Autores
PSI – Módulo 13 Modelo E-RRelação Binária N:N (Vários para Vários)
PSI – Módulo 13 Modelo E-RRelação Binária N:N (Vários para Vários)