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