Apontamentos - Tgbd

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Apontamentos - Tgbd as PDF for free.

More details

  • Words: 8,412
  • Pages: 51
Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Apontamentos de TGBD Disciplina

Técnicas de Gestão de Bases de Dados – 12º ano

Módulo

1

Docente

Nuno Ramos

Æ SISTEMAS Conceito: Um conjunto de elementos que interagem entre si ou que sejam interdependentes, formando um todo unificado. Ex: Eco-sistema, Escola, etc. Æ TIPOS DE SISTEMAS Podemos dividir os sistemas em duas grandes categorias: sistemas naturais e sistemas feitos pelo homem. Sistemas Naturais - não são feitos pelo Homem, já existem na natureza. Se classificam em:

Sistemas Físicos

sistemas estelares sistemas geológicos sistemas moleculares

Sistemas Vivos: animais e plantas Sistemas feitos pelo Homem – representam os sistemas construídos, organizados e mantidos pelo Homem. Por exemplo, os sistemas sociais, sistemas de transporte, sistema de comunicações, sistema financeiro. DENTRO DOS SISTEMAS FEITOS PELO HOMEM: Sistemas Automatizados São sistemas feitos pelo homem, que interagem com ou são controlados por computadores. Todos sistemas automatizados apresentam em comum as seguintes características: Hardware - terminais, impressoras, etc. Software – programas de sistemas, como sistemas operacionais, sistemas gerenciadores de base de dados e programas de controle de comunicações, além dos programas aplicativos que executam as funções desejadas do utilizador. Pessoas – aquelas que operam o sistema, que fornecem as entradas e utilizam as saídas. Dados – as informações que o sistema conserva em um período de tempo. Procedimentos – determinações e instruções formais para o funcionamento do sistema. Os sistemas automatizados se classificam em: • Sistema on-line • Sistema de tempo-real • Sistema de Apoio a Decisão • Sistema Baseado no Conhecimento

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 1

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Sistema On-line – os dados são introduzidos no sistema de processamento e dele recebidos remotamente. Sistema de tempo-real – Defini-se como sendo aquele que controla um ambiente pelo recebimento de dados, seu processamento e apresentação dos resultados com rapidez suficiente para afectar o ambiente naquele momento, como por exemplo, sistemas de controle de processos, sistemas de caixa Multibanco, etc. NOTA: Além da velocidade existe um outra característica que distingue sistemas de tempo-real de sistemas on-line: esses últimos interage com pessoas, enquanto os sistemas de tempo-real interagem tanto com pessoas como com o ambiente. Sistemas de Apoio a Decisão – auxiliam a tomada de decisões dos gerentes e diretores de uma organização. Além de recuperar e apresentar os dados, executam diversas análises matemáticas e estatísticas sobre os dados e fornecem os resultados sob diversas formas: gráficas, tabelas , relatórios. Fornecem informações mais amplas e mais gerais sobre a situação de mercado, as preferências dos clientes, comportamento dos competidores, etc. (NÃO SÃO MAIS DO QUE UMA COMBINAÇÃO DE ACTIVIDADES E PROCEDIMENTOS EXECUTADOS A MAIORIA PELOS UTILIZADORES) Sistemas Baseado no Conhecimento São aplicações da Tecnologia de Inteligência Artificial. Destinam-se à solução de problemas que englobam vasto domínio de conhecimento. Para construir um sistema especializado para uma determinada área é necessário colocar todo o conhecimento do especialista num programa. Æ Princípios Gerais de Sistemas Todos os sistemas anteriores, apesar de diferentes, atendem a alguns princípios em comum, tais como: • Quanto mais especializado é um sistema, menos capaz ele é de se adaptar a circunstâncias diferentes. •

Quanto maior for um sistema, maior o número de seus recursos que serão destinados a manutenção diária.



Os sistemas sempre fazem parte de sistemas maiores e sempre podem ser divididos em sistemas menores.



Os sistemas crescem.

Æ ANÁLISE Objectivos Compreender o sistema de informação existente e os seus problemas; Compreender o que o novo sistema deve fazer, em termos das suas componentes e interligações entre elas; Descrever as funcionalidades do sistema independentemente da solução. Ex. NA ESCOLA O OBJECTIVO , ALÉM DE MELHORAR A EDUCAÇÃO, É A SEMPRE PASSAGEM DOS ALUNOS, O QUE NEM SEMPRE ACONTECE.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 2

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Æ ANALISTA: Cria os modelos do sistema para melhor compreender os fluxos de informação, os dados, o processamento e o comportamento do sistema que está a construir. MODELOS Æ Os Modelos São: • Representações visuais dos SI; • Representam o que o sistema faz (não como o faz); • Contribuem para a clareza e facilidade de apreensão da informação; • Possibilitam a comunicação precisa entre os membros das equipas de desenvolvimento; • Impõem uma boa estruturação da informação; • Impõem precisão na especificação; • Aceleram o desenvolvimento; • Documentam o sistema. Æ Conceito: Modelo é a forma simplificada de representar alguma coisa complexa do mundo real sob um determinado aspecto.. Æ MODELAGEM : Operação de representar a realidade através de um modelo. Æ MODELAGEM DE SISTEMAS Devido às dificuldades humanas em compreender e absorver diversos conceitos da realidade durante o processo de desenvolvimento de sistemas, os analistas de sistemas criam réplicas aproximadas da realidade denominadas modelos de sistema.

Æ Características de um modelo de sistemas:

• Deve ser gráfico, com adequado detalhamento textual de apoio; • Deve permitir uma visão Top-down do sistema, ou seja, do inicio ao fim; • Deve possuir mínima redundância, ou seja, não ambiguo; • Deve ajudar o leitor a prognosticar o comportamento do sistema; • Deve ser transparente para o leitor;

Æ Motivos para utilização dos modelos na construção do sistema: • Focalizar as características importantes deixando de lado as menos importantes • Discutir alterações e correções nos requisitos do utilizador a baixo custo e mínimo risco • Para confirmar que entendemos o ambiente do utilizador e o documentamos de uma tal forma que os analistas de sistemas e programadores possam construir o sistema. Os modelos representam um determinado aspecto da realidade e, em cada fase do processo de desenvolvimento de sistemas possuem níveis de abstração diferentes. Níveis de abstração do modelo representa o grau de detalhamento de determinada característica que o modelo carrega.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 3

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Dimensões da Modelagem Fases do ciclo de Vida

FUNÇÃO

DADO

Projecto Tecnológico

Diagrama de Fluxo de Dado Diagrama de Estrutura Modular

Diagrama de Entidade e Relacionamento Modelo de Base de Dados: (Relacional, Hierárquico e de Rede)

Implementação

Linguagens de Programação

Linguagem de Descrição de Dados

Projecto Lógico

Níveis de Abstração

conceitual

tecnológico

interno

Æ CICLO DE VIDA DOS SISTEMAS - As acções realizadas no período que vai do momento que o utilizador expressa uma necessidade para a área de desenvolvimento (da empresa) até ao momento em que tem o sistema disponivel para a sua utilização. Æ FASES DO CICLO DE VIDA













Planeamento: definição de objectivo e ambito do processo, recursos necessários, análise custos/beneficios e calendário do projecto. Plano do Projecto Analise (o que é o sistema): definição do problema o levantamento da informação para compreender o funcionamento; problemas no sistema actual; o definição dos requisitos de informação para o novo sistema utilizando modelos. Especificação dos requisitos do sistema Desenho (como vai ser o sistema): definição da solução o Traduz os requisitos de análise numa representação do sistema; o Caracterização do interface, desenho da estrutura dos dados, arquitectura do sistema, especificação detalhada dos programas. Especificação do desenho Codificação o O desenho é transformado para ser entendido pelos computadores; o Codificação a partir do desenho detalhado. Conjunto de Programas – implementação do sistema Teste o A partir do momento que o código foi produzido, começa o teste: 1º o teste unitário, depois integração e o teste de aceitação do utilizador por ultimo. Sistema Operacional Manutenção o O sistema será modificado depois de estar a funcionar; o Re-aplica-se a cada uma das fases do ciclo de vida.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 4

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo MODELO AMBIENTAL Æ Define as interfaces entre o sistema e o ambiente. São identificadas as informações que entram no sistema provenientes do ambiente externo, e as informações que o sistema produz como saídas para serem transmitidas ao ambiente externo. O Modelo Ambiental consiste em três componentes: 1. Declaração de Objectivos 2. Diagrama de Contexto 3. Lista de Eventos Declaração de Objectivos

Trata-se de uma declaração concisa e breve dos objectivos do sistema. Pode ter apenas um único parágrafo, pois ela não se destina a dar uma descrição detalhada e abrangente do sistema. Diagrama de Contexto É composto por um único processo que representa todo o sistema que está sendo analisado. Serve para realçar diversas características importantes do sistema, tais como: 1 - As pessoas, organizações ou sistemas com os quais nosso sistema se comunica. Esses elementos são representados por terminadores. 2 - os dados que o nosso sistema recebe do mundo exterior e que devem ser processados de alguma maneira. 3 - os dados produzidos pelo nosso sistema e enviados para o mundo exterior.

Exemplo de um diagrama de contexto, de um sistema de folha de pagamento para pagamento de trabalhadores à hora:

admissão Supervisor Demissão Aumento Atualização-de-dedução

Lista de Eventos

Sistema de Folha de Pagamento Pagamento

Horas-trabalhadas Empregado

É uma lista textual dos eventos que ocorre no ambiente aos quais o sistema deve responder. Exemplo: 1. 2. 3. 4. 5. 6.

Empregado informa horas trabalhadas (Evento Externo) Supervisor informa nova admissão de funcionário (Evento Externo) Supervisor informa nova demissão de funcionário (Evento Externo) Supervisor informa aumento salarial dos funcionários (Evento Externo) Supervisor informa deduções (Evento Externo) É hora de emitir contracheque (Evento Temporal)

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 5

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo MODELO COMPORTAMENTAL O modelo comportamental mostra o comportamento interno do sistema para que possa interagir corretamente com o ambiente, isto é, modela as atividades que devem ser executadas pelo sistema em resposta aos eventos.

Æ Diagrama de Fluxo de Dados

Serve para modelar as funções do sistema e é composto dos quatro elementos: 1. Entidades externas 2. Processo 3. Arquivos 4. Fluxo de Dados 1- Entidade externa – Sistemas ou Organismos receptores e/ou emissores de informação relevante para o sistema em estudo e que ficam nos limites estabelecidos por este (não os pretendemos estudar). - As entidades externas têm uma identificação que é normalmente um substantivo e representada por um retângulo: Fornecedor NOTA: MUITAS VEZES AS ENTIDADES EXTERNAS SÓ SÃO MOSTRADAS NO NÍVEL DE CONTEXTO (NIVEL 0) PORQUE SE CONSIDERA QUE A PARTIR DO NÍVEL 1 SE ESTÁ A MODELIZAR O SISTEMA PRETENDIDO E AS ENT. EXTERNAS SÓ COMUNICAM COM ELE E NÃO FAZEM PARTE DO SIST. EM ESTUDO.

2- Processo - Actividades que transformam informação de entrada em informação de saída. - É um processo numerado e o seu nome é constituido por um verbo + um substantivo. O processo é representado por um círculo.

Exemplo: calcular comissão do vendedor

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 6

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo 3 - Arquivos – Armazedores de dados que guardam informação para futura utilização (consulta ou actualização) pelos processos. - O nome do arquivo é um substantivo e pode ser numerado. Exemplo: Pedido 3.1 – Normas de Acesso aos Arquivos •

Consulta do Arquivo Nome Pedido



- Designação da informação necessária ao processo

Actualização do Arquivo Requisição Pedido

- Designação da informação Que o processo quer modificar No arquivo

4 - Fluxo de dados – Transportam os dados que se movimentam das ou para as entidades externas, os processos ou os arquivos (não há fluxos de dados entre entidades externas nem entre arquivos). - Contém uma etiqueta que identifica a informação que circula nesse sentido. É representado por setas direcionadas. O nome do fluxo de dados deve ser um substantivo que facilite a identificação.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 7

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo

Construção de um DFD 1º É necessário delimitar a area em estudo, determinando as fronteiras do sistema.

Construir o Diagrama de Contexto Æ O sistema é representado só com um processo e é mostrada a informação que vai e vem do/para o exterior do sistema (as entidades externas) Exemplo: Cliente

Companhia Aerea

bilhete

Pedido de Viagem

Reserva de Voo Atribuir Reservas Reserva Quarto

Hotel

Æ Decompor o processo do diagrama de contexto de maneira a observar os processos principais do sistema e a circulação de informação (Fluxos de Dados)

Construção do Nível 1 de Decomposição Exemplo: O QUE QUEREMOS QUE O SISTEMA FAÇA? PRECISAMOS QUE NOS AJUDE A SABER OS PEDIDOS DOS CLIENTES, A DETERMMINAR AS RESERVAS NOS VOOS E HOTEIS. - Decomposição do Processo de Atribuição de Reserva Atribuir Reserva

Obter Pedido Cliente

Reservar Hotel

Reservar Voo

O processo de atribuição de reservas está agora decomposto em 3 processos principais

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 8

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo DFD de _Nivel 1 Æ Se a 1ª decomposição de processos em DFD do 1º Nivel envolve ainda processos demasiado complexos Então Decompomos os processos de maior complexidade; cada um destes processos é decomposto num DFD de nível mais baixo – 2º Nível de Decomposição. Exemplo:

O QUE É NECESSÁRIO PARA RESERVAR UM VOO? PROCURAMOS VOOS CANDIDATOS DE ACORDO COM O PEDIDO DO CLIENTE E DESTES SELECCIONAMOS O MELHOR E SÓ ENTÃO É QUE EFECTUAMOS A RESERVA

Atribuir Reserva

Obter Pedido Cliente

Reservar Hotel

Reservar Voo

Encontrar Voos Candidatos

Selecionar Melhor Voo

Efectuar Reserva Voo

2ª Decomposição em Processos de Menor Complexidade

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 9

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Exercícios 1 Æ “No final de cada período é feita a avaliação dos alunos. Com base nos parametros definidos pela Escola para a avaliação; o professor dá indicação de como evoluiu o praticante no decorrer daquele periodo lectivo. Este parecer é enviado para o Aluno. Todas as avaliações são registadas para poderem ser consultadas posteriormente.”

Lista de Eventos 1. Professor entrega avaliação. 2. Aluno necessita de notas

Nível 0

Nível 1

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 10

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo 1 Æ “Num Clube de Natação, as inscrições dos praticantes são recolhidas no inicio da temporada. É verificada a idade do futuro Aluno e feita a sua integração numa turma com base no número de pessoas já inscritas na mesma. Com base nesta informação, é depois feita uma lista de presenças para o Professor poder controlar as faltas e o Aluno é informado da turma em que foi inserido, da data e hora em que pode frequentar as aulas. Os alunos podem desistir a qualquer momento tendo de comunicar com alguma antecedência”.

Lista de Eventos ™ as inscrições dos praticantes são recolhidas 1. O Aluno entrega a Inscrição ™ depois feita uma lista de presenças 2. O Professor necessita da lista de Alunos ™ Aluno é informado da turma 3. O Aluno precisa de Nota Informativa ™ Os alunos podem desistir 4. O Aluno apresenta Desistência

Nível 0

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 11

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Nível 1

EXERCICIOS 1 Æ Descubra se os seguintes DFD’s estão incorrectos ou não e justifique. a) Detalhes do Cliente

Adicionar Vendas ao Balanço

Detalhes do Cliente

Æ Incorrecto, o fluxo de entrada é igual ao de saída.

b)

Detalhes do Curso

Processar Transações

Curso Aprovado

Æ Incorrecto, pois “processar transações” não tem significado no contexto.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 12

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo c)

Compras

Calculo da Quantidade

Vendas

Æ Incorrecto, o processo deve começar por verbo e deve ter entradas e saídas.

d) Se X>3 então ir para 7

Cliente

Æ Incorrecto, deve haver um fluxo de dados de entrada e o processo deve dizer o que faz. Tem de começar por verbo. e) X Sistema

Y

Maria

Z

João

Æ Incorrecto, não tem fluxo de entrada, “sistema” não tem significado e a ligação entre 2 entidades exteriores não ocorre.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 13

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo DICIONÁRIO DE DADOS Æ O dicionário de dados é uma listagem organizada de todos os elementos de dados pertinentes ao sistema, com definições precisas e rigorosas para que o utilizador e o analista de sistemas possam conhecer todas as entradas, saídas, componentes de depósitos e cálculos intermediários. O dicionário de dados define os elementos de dados da seguinte maneira: • Identificar os grupos compostos por elementos de dados que aparecem nos fluxos de dados e nos arquivos; • Declarar os grupos de elementos de dados no Diagrama de Dados, dividindo-os em subgrupos até todos os dados estarem identificados. • Descrevendo a composição da informação que se movimenta pelo fluxos de dados, isto é, informação complexa (como o endereço de um cliente) que podem ser divididos em itens mais elementares (como cidade, estado e código postal)

Notação de Dicionário de Dados O dicionário de dados utiliza as seguintes notações: = é composto de + e ( ) dado opcional { } grupo de elementos de dados [ ] escolha uma das opções alternativas ** comentário | separa opções alternativas na construção [ ]

Exemplos: Venda_item = { item + quantidade_venda } Total_vendido_mês = { item + total_vendido_mês } Vendas = { item + quantidade_vendida }

Venda_it em

Guardar Vendas de Itens

Calcular Total Vendas

Total_vendido_ mês

Vendas

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 14

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Diagrama de Entidade e Associacção Æ Serve para a construção de um modelo conceitual de entidades (objectos) e seus relacionamentos existentes no mundo real. O objectivo do modelo conceitual é obter uma descrição abstrata, independente de implementação do computador, dos dados necessários ao sistema. O modelo conceitual dos dados é representado graficamente pelo Diagrama de Entidade e Associacção.

Componentes do Modelo ™ Entidades ¾ Os objectos acerca dos quais a organização guarda informação. ¾ Representação: Por um substantivo. CLIENTE

¾ Ocorrencias de uma entidade PESSOA PESSOAS



João o Maria



Manuel o Isabel

™ Atributos ¾ As propriedades ou caracteristicas relevantes das entidades. ¾ Representação: ƒ CLIENTE ( nome, morada, telefone, credito, visa#) ¾ Tipos de Atributos ƒ Identificador: Identifica uma ocorrencia especifica dessa entidade distinguindo-a das restantes ocorrências, ou seja, para que 1 atributo seja identificador de 1 entidade é preciso que não existem 2 ocorrencias distintas dessa entidade em que esse atributo assuma o mesmo valor. ƒ Descritores: atributos que apenas descrevem ou caracterizam as ocorrencias da entidade. ™ Associações ¾ As interrelações entre entidades, ou seja, qualquer relação entre 2 ou mais entidades com interesse para a organização. ¾ Representação : por um verbo Faz

CLIENTE PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

RESERVA PÁG. 15

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo ¾ Cardinalidade da Associação o Uma associação entre 2 entidades pode caracterizar-se de 3 formas distintas:

EMPREGADO

MESA 1:1 Um para um

ORGANIZAÇÃO

EMPREGADO

DEPARTAMENTO

HABILITAÇÕES

1:N um para muitos

N:N muitos para muitos

Æ Associação UM para UM – 1:1 Tem

EMPREGADO

SECRETÁRIA

EMPREGADO

TEM

João y

t1 y t2 y t3 y t4 y

Maria y Susana y Miguel y

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

SECRETÁRIA



Secr1



Secr2



Secr3



Secr4

PÁG. 16

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Æ Associação UM para MUITOS – 1:N Consiste em

ORGANIZAÇÃO

ORGANIZAÇÃO

Org1 y Org2y Org3 y

DEPARTAMENTO

CONSISTE

c1 y c2 y c3 y c4 y c5 y C6 y

DEPARTAMENTO



Dep1



Dep2



Dep3



Dep4



Dep5



Dep6

Æ Associação MUITOS para MUITOS – N:N Possui

EMPREGADO

EMPREGADO

Maria y Felipe y

HABILITAÇÕES

POSSUI

p1 y p2 y p3 y p4 y

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

HABILITAÇÕES

• Analista • Designer • Programador

PÁG. 17

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Participação de Entidade na Associação Æ Obrigatória - Quando 2 entidades estão associadas por exemplo A e B, diz-se que A participa de forma OBRIGATÓRIA na associação sse a qualquer ocorrência de A corresponde pelo menos 1 de B. Exemplo:

CATEGORIA PROFISSIONAL

EMPREGADO

Empregado participa de forma OBRIGATÓRIA na associação Æ Opcional - Quando 2 entidades estão associadas por exemplo A e B, diz-se que A participa de forma OPCIONAL na associação se puder existir uma ocorrência de A à qual não corresponde 1 ou mais ocorrências de B. Exemplo: CATEGORIA PROFISSIONAL

EMPREGADO

Categoria Profissional participa de forma OPCIONAL na associação

GRAU (Cardinalidade)

PARTICIPAÇÃO

DEA

Obrigatória 1:1 Opcional

Obrigatória 1:N Opcional

Obrigatória N:N

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 18

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Opcional Æ Uma associação pode associar: • • •

Uma Entidade com ela propria : UNARIA Duas entidades entre si : BINARIA Várias entidades entre si : N-ARIA (Complexa)

Exemplo de 1 Associação UNARIA:

EMPREGADO

é dirigido por dirige

Exemplo de 1 Associação BINARIA Contém DEPARTAMENTO

ORGANIZAÇÃO

Faz parte de

Æ Interpretação Sintáctica • •

Cada organização “contém” zero ou mais departamentos; Cada departamento “faz parte de” exaxtamente uma e uma só organização.

Æ Interpretação Semantica • •

Para existir um departamento ele tem que fazer parte de uma organização; Uma organização pode existir sem conter qualquer departamento.

Exemplo de uma associação Complexa (N-ARIA)

ENGENHEIRO

HABILITAÇÃO

PROJECTO

Semantica: Qualquer engenheiro pode participar em diferentes projectos e em cada 1 com diferentes habilitações.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 19

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo CONSTRUÇÃO DE UM DEA 1º Identificar as entidades e as associações entre elas; 2º Atribuir a cardinalidade e a participação das associações; 3º Escolher os atributos de cada entidade e identificar os atributos identificadores;

1º MODELO CONCEPTUAL DE DADOS

4º Refinar o modelo

DIAGRAMA E – A REFINADO

REFINAR O MODELO 1. Desfazer Associações N:N Æ As associações cujo grau seja N:N devem ser substituidas por um par de associações do grau 1:N. Exemplo: Contém DEPARTAMENTO

ENCOMENDA

Está contido

Tem ENCOMENDA

LINHA DE ENCOMENDA

Pertence

Contém DEPARTAMENTO

Está contido

Vantagens: ¾ Mostrar entidades não identificadas de inicio; ¾ Facilitar a análise posterior do diagram em termos de consistência. Trabalha para

Id_emp Nome Morada telefone

DEPARTAMENTO

EMPREGADO

Emprega

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

Id_dep Nome telefone PÁG. 20

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Queremos guardar informação: ¾ Do dia em que o empregado começa a trabalhar no departamento; ¾ Do nº de horas por semana que um empregado trabalha para 1 departamento. SOLUÇÃO

É Atribuido EMPREGADO

TRABALHO

Para

De Um DEPARTAMENTO

Tem

Id_emp Nome Morada telefone

Id_emp Id_dep Dia_inicio N_horas

Id_dep Nome telefone

Dia_inicio e n_horas só fazem sentido quando o empregado “está a trabalhar” num departamento.

São atributos da associação entre as 2 entidades

Ao desfazer as associações N:N aparecem as entidades associativas: entidade que gurada informação que descreve a associação entre 2 ou mais entidades.

Exemplo: Faz CLIENTE

Id_cliente Nome Morada

COMPRA

Diz Respeito PRODUTO

Id_cliente Id_produto Preço_actual

Id_produto Descrição Preço_standard

2. O sistema a modelizar não deve aparecer como 1 entidade Exemplo: (modelo ERRADO) Feitas PEÇAS

EMPRESA

Vende CLIENTES

Esta entidade só conteria 1 única ocorrência (A da propria empresa) Exemplo: (modelo CORRECTO) Rendidas PEÇAS

CLIENTES

Só contém as entidades importantes para o sistema a modelizar

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 21

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo 3. Evitar fechar o modelo (evitar associações derivadas) Exemplo: Tem DEPARTAMENTO

SECÇÕES

Empregam PESSOAS

Estão

Esta associação modeliza todas as pessoas que estão nos departamentos Mas conseguimos encontrar todas as pessoas que estão nos departamentos a partir das associações “tem” e “empregam”; logo a associação “estão” contém informação que pode ser derivada das outras relações Æ NÃO É NECESSARIO

4. Os atributos devem expressar conceitos simples (e devem tomar valores simples). Os DEA não devem conter atributos estruturaods ou multivalor.

Exemplo:

PESSOA

Id_pessoa Data_nascimento Qualificação Æ pode tomar muitos valores (multivalor) Morada (rua, nº, local) Æ este atributo é composto por Outros atributos (estruturados)

Remover atributos multivalor e estruturados Tem Vivem QUALIFICAÇÃO

PESSOA

qualificação

Id_pessoa Data_nascimento

MORADA

Numero Rua Local

Desfazer associações N:N

QUALIFICAÇÃO

qualificação

TEM

Id_pessoa qualificação

PESSOA

Id_pessoa Data_nascimento

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

VIVE

Id_pessoa Numero Rua Local

MORADA

Numero Rua Local

PÁG. 22

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo 5. Evitar as associações N-ARIAS (complexas) porque incluem mais de 1 conceito. Exemplo: Mais de 1 Conceito: Descreve tanto o armazém onde o cliente comprou com os detalhes da compra

CLIENTES

ARMAZÉM

PEÇAS

Retirar associação N-ARIA Desenho + correcto: substituir a entidade associativa e desenhar associações binarias para uma nova entidade

São PEÇAS

COMPRA

É ARMAZEM

Efectuada CLIENTES

Nota: é sempre possivel retirar associações complexas e substitui-las por 1 nova entidade e a partir daqui criar as associações (binárias) com ela.

Exemplos de DEAs 1. Num curso cada modulo é assegurado por 1 só monitor e cada monitor assegura só 1 modulo. Assegura MONITOR

MODULO

2. Um departamento tem vários empregados e um empregado está afecto a 1 departamento.

Tem DEPARTAMENTO

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

EMPREGADO

PÁG. 23

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo 3. Um Livro pode ser escrito por vários autores e 1 autor pode escrever vários livros. Tem AUTOR

LIVRO

Exercícios 1 Æ Desenhe os seguintes diagramas entidade-associação e indique três atributos relevantes a cada uma das entidades: a. Um aluno realiza vários trabalhos. Um trabalho é realizado por vários alunos. Realiza ALUNO

TRABALHO

N_Aluno Nome Turma

Id_Trabalho Tipo_Trab Disciplina

b. Um director dirige no máximo um departamento. Um departamento tem no máximo um director. Dirige DEPARTAMENTO

DIRECTOR

N_Dep N_Director Nome Nome c. UmaFuncao equipa é composta por vários jogadores. Um jogador pode jogar apenas Telefone numa equipa. Composta JOGADOR

EQUIPA

N_Jogador Nome Posicao

N_Equipa Nome Tipo_equipa

d. Um cliente realiza várias encomendas. Uma encomenda diz respeito no máximo a um cliente. Realiza CLIENTE

N_Cliente Nome Morada

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

ENCOMENDA

N_Encomenda Descricao Preco

PÁG. 24

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo 2 Æ Uma escola tem várias turmas. Uma turma tem vários professores. Uma turma tem sempre aulas na mesma sala, mas uma sala pode estar associada a várias turmas (com horários diferentes). Elabore um DEA que responda ao problema. N_horario Tipo Curso

HORARIO

Tem Tem ESCOLA

N_Escola Nome Morada

Tem

TURMA

PROFESSOR

N_Turma Nome Curso

Pode Estar

N_prof Nome Especialidade

SALA

Id_sala Nome Bloco EXERCICIOS 1Æ Um proprietário pode ter varios veiculos.Um veiculo pode ser conduzido por vários condutores. Um veiculo só tem no máximo um motor. CONDUTOR

N_contribuinte Nome Idade

TEM

TEM

PROPRIETARIO

N_contribuinte Nome Morada

VEICULO

MOTOR

Matricula Marca Modelo Cor

N_Motor Cilindrada Tipo_combustivel

CONDUTOR_ _VEICULO

CONDUTOR

VEICULO

N_Contribuinte Matricula

2 Æ Um Empregado é atribuido a um Departamento. Um departamento pode ter vários empregados. Um departamento está dividido por várias secções. Atribuido EMPREGADO

N_emp Nome Morada

Dividido DEPARTAMENTO

Id_dep nome telefone

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

SECÇÃO

Cod_seccao nome

PÁG. 25

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo 3 Æ Uma Empresa tem uma sede. Uma sede pertence a uma empresa. Um empresa pode ter filiais. PODE TER

TEM SEDE

EMPRESA

FILIAL

Id_sede Morada Telefone

N_contribuinte nome morada

N_Filial Morada Telefone

4 Æ Um aluno pode ter várias licenciatura. Uma licenciatura pode pertencer a várias Universidades. Uma Universidade tem vários alunos. N_Aluno Nome Morada

ALUNO

PODE

LICENCIATURA

Cod_Lic Designacao

UNIVERSIDADE

Cod_Univ Nome Localizacao

ALUNO_ _LICENCIATURA

ALUNO

LICENCIATURA

N_Aluno Cod_Lic UNIVERSIDADE_ _LICENCIATURA

UNIVERSIDADE

LICENCIATURA

Cod_Univ Cod_Lic

5 Æ Considere uma empresa organizada em direcções e departamentos. Cada direcção dirige um conjunto de departamentos e cada empregado trabalha para um departamento ou directamente para uma direcção. N_Dir Nome

DIRECÇÃO

PODE

DEPARTAMENTO

Cod_Dep Nome Extensao

EMPREGADO

N_Emp Nome Telefone

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 26

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo NORMALIZAÇÃO Æ Consiste na aplicação de um conjunto de regras (matemáticas) a uma estrutura de dados. Estas regras são referidas por FORMA NORMAIS (FN). Æ Vantagens: ¾ Melhora a estabilidade e a consistencia dos dados; ¾ Elimina as anormalias de inserção, actualização e eliminação de dados; ¾ Reduz a redundância; ¾ Associa às entidades os atributos “certos”. Æ Fases da Normalização Dados não normalizados (entidadades com atributos repetitivos)

1. Criar novas entidades para atributos repetidos 1ª Forma Normal (1 FN) (entidades com atributos não repetitivos) 2. Para as entidades com identificadores compostos, assegurar que todos os outros atributos não-identificadores dependem da totalidade do identificador. Separar as entidades para o obter.

2ª Forma Normal (2 FN) (Todos os atributos não-identificadores dependem funcionalmente da totalidade do identificador) 3. Assegurar que todos os atributos nãoidentificadores só são identificados pelo identificador. Separar as entidades para o obter.

3ª Forma Normal (3 FN) (Todos os atributos não-identificadores dependem funcionalmente do identificador e são independentementes de qualquer outros atributos)

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 27

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo DEPENDENCIAS FUNCIONAIS Æ Decrevem as regras entre atributos num sistema, ou seja, 1 valor de 1 atributo numa relação determina o valor de outro nessa relação. Um atributo B de uma relação R é funcionalmente dependente de um atributo A na relação R se a cada valor de A só está associado 1 valor de B. Ou seja, se sabemos o valor de A conseguimos determinar o valor único de B. Exemplo: PESSOA Id_pessoa Id_pessoa Æ Id_pessoa Æ

Nome

Morada

Nome (nome é funcionalmente dependente de id_pessoa) Morada (morada é funcionalmente dependente de id_pessoa Ou Id_pessoa determina univocamente 1 morada Ou Se sabemos o valor do Id_pessoa podemos determinar a sua morada

Outra Representação:

Id_pessoa

Nome

Morada

Derivação das dependencias funcionais: Æ Uma dependencia funcional pode ser derivada de outra dependencia funcional. É importante o analista assegurar que não há dependencias funcionais derivadas. Exemplo: A partir da identificação do projecto sabemos qual o total de horas desse projecto. Supondo ainda que um gerente é responsável pelo projecto; deduzimos qual o total de horas pelas quais o gerente é responsável. Ou seja, Id_projecto Æ total_horas Id_gerente Æ id_projecto Id_gerente Æ Total_horas

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 28

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo CHAVES OU IDENTIFICADORES DA RELAÇÕES Æ Conjunto de atributos cujos valores identificam 1 única linha na relação. Tipos de Chaves ¾ Primária: identifica univocamente cada ocorrência da relação. ¾ Candidata: alternativa à chave primária; que tem as mesmas caracteristicas. ¾ Concatenada: composta por 2 ou mais atributos. ¾ Estrangeira: chave de outra relação que ocorre na relação. Exemplo: Consultas: cada consulta só tem 1 paciente e só um médico participa nela. CONSULTAS Nome_medico Dr. Lopes Dr. Soares Dr. Lima

Nome_paciente João Joana Maria

Dia/Hora_visita 15/01 10:00 15/01 11:00 15/01 12:00

Chave Primária: nome_medico, dia/hora_visita que é também uma chave concatenada.

RELAÇÕES NA FORMA NORMAL Æ Conjunto de Relações que descrevem os dados no sistema em que os atributos chave determinam valores unicos dos atributos não-chave, isto é, todos os atributos não-chave dependem funcionalmente da chave. Exemplo:

CHAVE PRIMARIA (que pode ser composta por vários atributos)

Atributo 1

Atributo 2

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08



Atributo n

PÁG. 29

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Æ Representação simplificada do processo de normalização (até 3 FN) •

Conversão à 1 FN CONVERTER



Conversão à 2 FN CONVERTER



Conversão à 3 FN CONVERTER

EXEMPLO DE CONVERSÕES •

Empregado

N_Empregado

Nome

Salario

Data_Nasc

Categoria Cod_Cat N_Anos

Categoria ocorre varias vezes para um empregado (temos um grupo repetitivo) logo não está normalizado. Para converter à 1 FN fica: EMPREGADO N_Empregado

Nome

Salario

Data_Nasc

CATEGORIA N_Empregado + Cod_Cat



N_Anos

Encomenda

N_Encomenda

N_Peça

Quant_Encomenda Data_Encomenda

A data_encomenda depende funcionalmente do N_Encomenda que é 1 das partes da chave (não depende da totalidade da chave), logo não está na 2 FN. PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 30

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Para converter à 2 FN fica: ENCOMENDA_PEÇA N_Encomenda

N_Encomenda



N_Peça

Quant_Encomenda

Data_Encomenda

Veículo

N_Registo

Dono

Modelo

Fabricante N_Cilindros

N_Cilindros depende funcionalmente do modelo e fabricante (um atributo não chave depende de outros atributos não chave), logo não está na 3 FN. Para converter à 3 FN fica:

VEICULOS N_Registo

Dono

Modelo

Fabricante

CILINDROS

Modelo

Fabricante N_Cilindros

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 31

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo EXERCICIO Æ Suponha que a entidade ENCOMENDA tem os seguintes atributos: N_Encomenda Data_Encomenda N_Cliente Nome_Cliente Morada_Cliente N_Produto Nome_Produto Quantidade_Pedida Preço_Produto Total_Produto_Encomendado Total_Encomenda

N vezes

Normalize de acordo com as 3 Formas Normais N_Enc

Data_Enc

N_Cliente

Nome_Cl

Morada_Cl

N_Produto

Nome_Prod

Quant_Prod

Preco_Prod

Total_Prod_Enc

Total_Enc

1 FN: ENCOMENDA N_Enc

Data_Enc

N_Cliente

Nome_Cl

Morada_Cl

Total_Enc

PRODUTO N_Enc + N_Produto

Nome_Prod

Quant_Prod

Preco_Prod

Total_Prod_Enc

2 FN: N_Enc

N_Cliente

Nome_Cl

Morada_Cl

Data_Enc

ENCOMENDA N_Enc

Data_Enc

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 32

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo CLIENTE Nome_Cl

N_Enc + N_Cliente

Morada_Cl

3 FN: N_Enc

Data_Enc

N_Cliente

Data_Enc

N_Cliente

Nome_Cl

Morada_Cl

ENCOMENDA N_Enc

CLIENTE N_Cliente

Nome_Cl

Morada_Cl

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 33

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo TEORIA RELACIONAL E NORMALIZAÇÃO Æ Durante o desenho (fase seguinte à fase de análise), o Modelo DEA é convertido no modelo relacional dos dados que por sua vez é, mais tarde, convertido no desenho de base de dados. Passos: Modelo DEA Refinamento • •

Derivar o esquema tabelas Normalizar

Modelo Relacional dos Dados Ou Modelo Lógico dos Dados

Como se Converte? Æ Substitui-se cada entidade e/ou associação do DEA por uma tabela. Æ O nome da entidade ou associação é o nome da tabela. Æ Os Atributos são as colunas da tabela. Exemplo: PESSOA

Id_pessoa Nome Morada

2 Representações (relacional vs. Tabela) •

Pessoa (id_pessoa, nome, morada)



PESSOA Id_pessoa

Nome

Morada

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 34

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Æ Uma Tabela representa uma entidade em que: • Cada coluna é um atributo; • Cada linha(ou triplo) corresponde a uma ocorrência; • Não existem na tabela 2 linhas iguais (ou seja, não existem 2 linhas com os mesmos valores em todos os atributos). Æ Cada entidade dá origem a uma tabela com: • Identificador da entidade; • Restantes atributos da entidade; • Em alguns casos, também com os identificadores de outras entidades que lhes estejam associadas.

DERIVAÇÃO DO ESQUEMA DE TABELAS Æ Algumas regras teóricas: 1. Associações sem dados podem dar origem a uma tabela, ou não, dependendo: a. Do grau da associação; b. Da participação das respectivas entidades. 2. Evitar ocorrências em que os identificadores de outras entidades tenham valores nulos. 3. Não criar tabelas de modo que identificadores de outras entidades se repitam. 4. Criar tabelas para as associações apenas quando tal seja necessário e de forma a que as restantes regras sejam validas. •

Associações 1:1

A) Ambas as entidades têm participação obrigatória na associação

B

A

A (A1, …)

B (B1, …)

Sempre que uma entidade ocorre a outra também ocorre Ou seja, a cada ocorrência de 1 entidade corresponde uma ocorrência de outra entidade. LOGO Basta uma tabela para representar esta situação T (A1, …, B1, …)

A chave tanto pode ser A1 como B1

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 35

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo B) Apenas uma entidade tem participação obrigatória na associação

B

A A (A1, …)

B (B1, …)

Quando A ocorre, B pode ou não ocorrer, mas quando B ocorre A tem de ocorrer; ou seja, Quando se cria uma ocorrência em A pode acontecer não ter de se criar em B, mas o inverso tem de acontecer. LOGO DUAS TABELAS, uma para cada entidade T1 (A1, …)

e

T2 (B1, …, A1, …)

chave estrangeira

C) Nenhuma entidade tem participação obrigatória na associação

B

A A (A1, …)

B (B1, …)

Dá origem a Três Tabelas, uma para cada entidade e uma para a associação T1 (A1, …)

e

T2 (B1, …)

e

T3 (A1, B1)

A tabela da associação possui ambos os identificadores de A e B, podendo qualquer um deles ser chave.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 36

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo •

Associações 1:N

D) Participação obrigatória da entidade do lado N na associação

A

B

A (A1, …)

B (B1, …)

Dá origem a DUAS TABELAS T1 (A1, …)

e

T2 (B1, …, A1)

Em que a tabela de entidade B possui A1 como chave estrangeira, uma vez que quando ocorre B tem que necessáriamente ocorrer A.

E) Participação não obrigatória da entidade do lado N na associação

B

A A (A1, …)

B (B1, …)

Dá origem a Três Tabelas, uma para cada entidade e uma para a associação em que a chave desta tabela é a chave da entidade B. T1 (A1, …)



e

T2 (B1, …)

e

T3 (B1, A1)

Associações N:N A

B

A (A1, …)

B (B1, …)

Dá origem a Três Tabelas, uma para cada entidade T1 (A1, …)

e

T2 (B1, …)

e uma para a associação T3 (A1, B1) em que a chave é composta pela concatenação das 2 chaves das entidades que participam na associação. NOTA: Esta associação já devia ter sido feita no refinamento.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 37

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo •

Generalização A

A (A1, …)

B

C

B (A1, …)

C (A1, …)

Dá origem a 3 Tabelas, uma para cada entidade, com o mesmo identificador. T1 (A1, …)



e

T2 (A1, …)

e

T3 (A1, …)

Abstração A

B

A (A1, …)

C

B (B1, …, A1)

C (C1, …, A1)

Dá origem a 3 Tabelas, uma para cada entidade em que o identificador é diferente para as 3 tabelas mas o identificador de A aparece como atributo de B e C. T1 (A1, …)

e

T2 (B1, …, A1)

e

T3 (C1, …, A1)

Æ O Esquema de Tabelas é uma representação gráfica do conjunto de tabelas que evidencia: • • • • •

As tabelas existentes; Os atributos de cada tabela; O identificador (chave primária) de cada tabela; Os identificadores de outras tabelas (chaves estrangeiras ) em cada tabela; As ligações entre tabelas.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 38

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo EXERCÍCIOS 1. Fazer o DEA, atribuição de atributos e esquema de tabelas. a. Um livro é arquivado numa determinada posição de um arquivo. Essa posição só pode ter um único livro.

arquivado

Livro

Pos_Arquivo

Livro (Cod_livro , titulo, editora, autor, ano) Pos_arquivo ( Cod_arquivo, tipo)

T ( Cod_livro, titulo, editora, autor, ano, Cod_arquivo, tipo)

b. Um condutor conduz um camião. Um camião é conduzido por um único condutor.

Conduz

Condutor

Camião

Condutor (N_Condutor , nome, morada, salario) Camião (Matricula, marca, carga)

T (N_Condutor , nome, morada, salario, Matricula, marca, carga)

c. Um apartamento pode ter uma garagem. Uma garagem pertence a um apartamento. Apartamento

Tem

Garagem

Apartamento (Cod_apartamento, area, n_divisoes) Garagem (Cod_garagem, n_lugares, area) T1 (Cod_apartamento, area, n_divisoes) T2 (Cod_garagem, n_lugares, area, Cod_apartamento, area, n_divisoes)

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 39

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo d. Um apartamento pode ter uma garagem. Uma garagem pode pertencer a um apartamento. Tem

Apartamento

Garagem

Apartamento (Cod_apartamento, area, n_divisoes) Garagem (Cod_garagem, n_lugares, area) T1 (Cod_apartamento, area, n_divisoes) T2 (Cod_garagem, n_lugares, area) T3 (Cod_apartamento, Cod_garagem)

e. Um cliente subscreve várias apólices. Uma apólice é subscrita por um cliente.

Cliente

Subscreve

Apólice

Cliente (N_cliente, nome, morada) Apolice (N_apolice, tipo, premio) T1 (N_cliente, nome, morada) T2 (N_apolice, tipo, premio, N_Cliente)

f. Um Cliente pode efectuar vários alugueres. Um aluguer é efectuado por um cliente. Cliente

Efectua

Aluguer

Cliente (N_cliente, nome, morada) Aluguer (N_aluguer, data, situaçao) T1 (N_cliente, nome, morada) T2 (N_aluguer, data, situaçao) T3 (N_aluguer, N_cliente)

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 40

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo g. Num departamento trabalha vários empregados. Um empregado pode trabalhar em um departamento.

Departamento

Trabalha

Empregado

Departamento (N_departamento, nome, local) Aluguer (N_empregado, nome, morada) T1 (N_departamento, nome, local) T2 (N_empregado, nome, morada) T3 (N_empregado, N_departamento)

h. Uma enfermaria pode ter vários pacientes. Um paciente pode estar numa enfermaria.

Enfermaria

Contém

Paciente

Enfermaria (N_enfermaria, tipo, local) Paciente (Cod_paciente, nome, morada) T1 (N_enfermaria, tipo, local) T2 (Cod_paciente, nome, morada) T3 (N_enfermaria, Cod_paciente)

i. Um produto é fornecido vários fornecedores. Um fornecedor fornece vários produtos. Produto

Fornece

Fornecedor

Produto (Cod_produto, nome, quantidade) Fornecedor (N_fornecedor, nome, morada) T1 (Cod_produto, nome, quantidade) T2 (N_fornecedor, nome, morada) T3 (Cod_produto, N_fornecedor)

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 41

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo DIAGRAMAS DE ACÇÃO Æ Diagrama que especifica a estrutura e a lógica detalhada do processo. Mostra as condições a serem testadas e as estruturas de controlo (sequenciação, iteração, selecção) do processo. Notação: •

Módulo é representado por (parênteses rectos)

---------------------------------------------------------

Æ c é o bloco principal de construção dos diagramas de acção •

SEQUÊNCIA Acção 1 Acção 2 Acção 3



REPETIÇÃO E TIPOS DE REPETIÇÃO Do While Condição -------------------------------------------

-------------------------------------------

Do ------------------------------------------Until Condição

For All Condição -------------------------------------------

For Each … Where Condição -------------------------------------------

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 42

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo EXEMPLO Æ No Sistema de assinaturas, as transacções de assinaturas são processadas. Cada transacção é validada, as transacções invalidas são rejeitas e as válidas são processadas de acordo como seu tipo: nova assinatura, renovação, cancelar. Para uma nova assinatura cria-se 1 registo do cliente e é gerada 1 factura para o saldo devido. Para a renovação, a data de vencimento é actualizada e gera-se 1 factura para o saldo devido. Para cancelamento o registo de cliente é marcado para ser excluido e emite-se um reembolso. Cliente

DFD:

Assinaturas 1. Validar Assinaturas

Assinatura Validada

Assinatura

Rejeição

2. Determinar Tipo Assinat.

Renovação

Factura

Nova Assin.

3. Processar Nova Assinatura

Factura

Cancelamento

4. Processar Cancelamento

5. Processar Renovação

Reembolso

Cliente

DIAGRAMA DE ESTRUTURA Conceitos: Æ Um Diagrama de estrutura mostra: o A divisão do sistema em módulos; o A hierarquia e organização dos módulos; o As interfaces (entradas e saídas) de comunicação; o A função de cada módulo (através do seu nome). Æ Não mostra: o A forma como cada função é realizada; o As áreas de dados locais; o O acesso à base de informação. Æ Grafo arborescente que representa a hierarquização do controlo de um sistema. Æ Este grafo mostra o módulo global (de topo) e a sua decomposição em submódulos. Æ O nome dum módulo deve indicar a sua acção e a dos seus submódulos.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 43

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Caracteristicas: Æ Ferramenta gráfica o Mais fácil e mais rápido de compreender. Æ Modular o Permite maior rapidez de desenvolvimento; o Permite a visualização e análise de partes, sem ter que se entender o todo. Æ Rigoroso mas flexível o Menos díficil de modificar pela divisão do sistema em módulos, pela minimização da redundância (cada função descreve-se uma só vez) e pela distância com respeito ao código. Æ Entrada para a fase de implementação. Æ Documentação do Sistema (desenho e manutenção).

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 44

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo

DIAGRAMA DE ESTRUTURA: MÓDULO •

Um módulo é composto por um conjunto de instruções de programa com 2 visões: o Visão Esterna: ƒ Entradas e saídas; ƒ Função. o Visão Interna: ƒ Lógica (o algoritmo pelo qual executa a sua função); ƒ Dados internos (espaço privado de trabalho).



Nota: A visão externa é o que interessa para o desenho estruturado. A visão interna é importante para a fase de codificação.

MÓDULO: SIMBOLOGIA

Módulo:

<nome>

nome = verbo no infinito + substantivo

Módulo pré-definido (biblioteca):

Exemplos:

<nome>

Calcular total factura Sort

Emitir factura Get_date

PASSAGEM DE PARÂMETROS

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 45

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo

ALGUMAS REGRAS DE CONSTRUÇÃO 1. Módulos interligados por uma relação hierárquica devem ser colocados na vertical, com o subordinado abaixo do módulo superior. 2. Os módulos com o mesmo coordenador (sem relação de subordinação) são dispostos segundo o mesmo nível hierárquico. 3. Num diagrama de estrutura, um módulo só deve ser representado uma vez.

IDENTIFICAR NÚMERO DE DES ƒ

Partindo da especificação funcional, quantos DEs e qual a sua forma? 1. Dois tipos de problemas: nível e âmbito. ƒ Nível: • construir um DFD expandido (eliminando os vários níveis); ou trabalhar com DFDs de vários níveis, sendo hábil na sua interpretação e manipulação. ƒ Âmbito: • só manipular o que for tratado pelo computador, de modo a que as entidades externas sejam os operadores.

2. Identificar o número e o tipo de estímulos: Estímulo: fluxo e temporal. ƒ ƒ

Identificar o início e fim do estímulo. Estímulos temporais com a mesma periodicidade originam um só DE, desde que a única relação não seja a periodicidade.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 46

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo ƒ

Estímulos temporais com periodicidade diferente originam DEs diferentes, mas se um originar o outro, então podemos tratá-los no mesmo DE.

3. Equipamento ƒ ƒ

O tipo do equipamento (PC, estação de trabalho) também pode originar DEs diferentes. Não tratamos no mesmo DE processamentos que vão ser executados em máquinas diferentes!

EXERCICIO Com base nos DFDs, dicionário de dados e nas tabelas obtidas através do refinamento do modelo de dados, apresentados nas páginas seguintes, construa os diagramas de estrutura: ƒ de um subsistema que registe um aluguer dum dado cliente (sócio ou eventual); ƒ de um subsistema que registe a devolução de filmes alugados por clientes; ƒ de um sistema que inclua ambos os subsistemas acima referidos. Observações: ƒ devem ser pedidos ao utilizador os dados que forem necessários, quando isto se justificar; ƒ podem ser utilizados módulos pré-definidos para os acessos às tabelas e troca de dados com o utilizador.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 47

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 48

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo

Redes de PERT (PERT/CPM - Program Evaluation and Review Techinique/Critical Path Methodo) •

É um grafo dirigido valorado que possui uma entrada, uma saída e não tem laços nem ciclos.



Este tipo de grafo é utilizado na análise de eventos temporais, que necessitam do acompanhamento do fluxo de dados em relação ao tempo.

As redes PERT/CPM são técnicas de planejamento e controle de grandes projetos, a partir do escalonamento das diversas atividades é possível montar gráficos e estudar o planejamento do projeto. As principais vantagens da utilização deste método são: • clareza e facilidade de compreensão das fases do projeto e o projeto como um todo; • verificação das atividades; • mostrar a coerência técnica do projeto; • compreensão da lógica interna do projeto e guia para execução e controle do projeto. •

As redes PERT evidenciam relações de precedência entre atividades e permitem calcular o tempo total de duração do projeto bem como o conjunto de atividades que necessitam de atenção especial caso contrário os atrasos em sua execução causaram no projeto com um todo, este conjunto de atividades é denominado de Caminho Crítico.

Ex.: Uma fábrica possui cinco módulos de processamento robotizado. Cada módulo possui uma identificação e uma função específica. A rede de PERT ao lado representa o tempo de uma peça sendo processada entre os módulos.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 49

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo

Gr

afos –

GRÁFICOS DE GANT OU DE BARRAS O método de GANT consiste numa visualização em diagrama do posicionamento óptimo das diferentes actividades, tendo em conta as durações e relações de precedência, bem como prazos de entrega e capacidade disponíveis. O diagrama GANT corresponde a um quadro onde: • Colunas correspondem às unidades de tempo; • Linhas correspondem às actividades a realizar.

GRÁFICOS DE GANT OU DE BARRAS (finalidades) • • •

Definir antecipadamente as fases de trabalho, de modo a se evitarem operações repetidas; Acompanhar o plano, isto é, permitir ao planificador acompanhar a forma como as etapas estão a ser executadas; Estabelecer uma sequência lógica, ou seja, a existência de uma sucessão óptima de etapas, eliminando à partida etapas desnecessárias.

MAPA DE GANTT •

Para construir um Mapa de Gantt é necessário fazer uma listagem prévia das tarefas que devem ser realizadas e, posteriormente, construir o gráfico, em que a duração da actividade é representada por uma barra horizontal, cuja localização no diagrama (indicando o início e o fim da actividade) é o resultado das relações de precedência das diferentes actividades.

Exemplo Tendo em atenção o quadro seguinte, construa o mapa de GANTT.

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 50

Escola Secundária com 3º Ciclo do E.B. de Pinhal Novo Tarefas-Nome

Duração

A B C D E F G H I

3 dias 8 dias 5 dias 1 dia 10 dias 4 dias 5 dias 9 dias 2 dias

Precedências

--A A B B C E D G

Resolução 1 - Mapa de GANTT

Dias 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 Actividades

A B C D E F G H I

PROFESSOR: Engº. Nuno Ramos - Ano 2007 / 08

PÁG. 51

Related Documents

Apontamentos - Tgbd
November 2019 9
Apontamentos
April 2020 8
Apontamentos
November 2019 8
Apontamentos Series
November 2019 13