Regras Activas Dirigidas pelos Dados para a Manutenção de Restrições de Integridade e Dados Derivados em Aplicações Interactivas de Bases de Dados

Tamanho: px
Começar a partir da página:

Download "Regras Activas Dirigidas pelos Dados para a Manutenção de Restrições de Integridade e Dados Derivados em Aplicações Interactivas de Bases de Dados"

Transcrição

1 JOÃO CARLOS PASCOAL DE FARIA Regras Activas Dirigidas pelos Dados para a Manutenção de Restrições de Integridade e Dados Derivados em Aplicações Interactivas de Bases de Dados FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO 1999

2

3 Regras Activas Dirigidas pelos Dados para a Manutenção de Restrições de Integridade e Dados Derivados em Aplicações Interactivas de Bases de Dados João Carlos Pascoal de Faria Dissertação apresentada à Faculdade de Engenharia da Universidade do Porto para a obtenção do grau de Doutor em Engenharia Electrotécnica e de Computadores Investigação desenvolvida na Faculdade de Engenharia da Universidade do Porto e no Instituto de Engenharia de Sistemas e Computadores do Porto, sob a orientação do Doutor Raul Fernando de Almeida Moreira Vidal, Professor Associado da Faculdade de Engenharia da Universidade do Porto Faculdade de Engenharia da Universidade do Porto Setembro de 1999

4 O programa de investigação apresentado nesta dissertação foi apoiado pelo programa PRODEP, medida 4.2, acção de formação

5 Resumo Uma regra activa ou gatilho ("trigger") é um terno evento-condição-acção com o seguinte significado: se o evento ocorrer, avaliar a condição e, se esta for verdadeira, executar a acção. O termo "regra activa" surgiu na área das bases de dados activas, onde as regras activas são usadas para a imposição de restrições de integridade estática (nos estados válidos dos dados) ou dinâmica (nas transições de estado válidas), para o cálculo automático de dados derivados (calculados em função doutros), para o controlo e registo de acessos, para a imposição de regras de negócio, etc. Em alguns sistemas, é possível especificar prioridades absolutas ou relativas entre as regras, que condicionam a sua ordem de execução. Uma aplicação interactiva de bases de dados é um programa de computador que permite a um utilizador visualizar e manipular dados armazenados numa bases de dados através de um interface com o utilizador baseado em formulários, relatórios e gráficos. Na área de desenvolvimento rápido de aplicações (de bases de dados) também se usam gatilhos (mais limitados) para a validação e possível correcção dos dados introduzidos pelo utilizador, para o cálculo automático de dados derivados (por exemplo, campos de formulários ou relatórios calculados em função doutros campos), para o controlo dinâmico de propriedades dos campos, para a extensão e redefinição de comportamentos automáticos embebidos nas ferramentas de desenvolvimento, etc. Uma regra activa dirigida pelos dados é uma regra activa com eventos implícitos de um tipo restrito - eventos de modificação de dados - que podem ser inferidos a partir da parte de condição e/ou da parte de acção da regra, segundo certos pressupostos. As regras activas dirigidas pelos dados diferem das regras activas com eventos explícitos no modo de definição mas não no modo de execução, que é dirigido por eventos por razões de eficiência e de integração. Fórmulas de cálculo de dados derivados em folhas de cálculo ou em ferramentas de desenvolvimento rápido de aplicações e asserções genéricas em SQL, são exemplos de entidades que podem ser tratadas como regras activas dirigidas pelos dados. A principal contribuição deste trabalho é a proposta de um tipo (ou modelo) de regras activas dirigidas pelos dados especialmente adaptado para a manutenção de dados derivados (calculados) e restrições de integridade (validações) em aplicações interactivas de bases de dados (nomeadamente em formulários de ecrã e rela tórios), mais flexível e melhor integrado do que outros tipos de regras activas dirigidas pelos dados propostos anteriormente tanto na área de bases de dados como na área de desenvolvimento rápido de aplicações. Duas características importantes do modelo de regras proposto são a semântica de ponto fixo e a execução sequencial. A semântica de ponto fixo significa que uma regra deve ser executada (i.e., a condição deve ser avaliada e, se for verdadeira, a acção deve ser executada) sempre que dessa execução possa resultar uma alteração no estado dos dados. A execução sequencial é importante para garantir que as alterações causadas pela execução duma regra não são afectadas pela existência doutras regras. São estabelecidas regras de inferência dos eventos activadores de cada regra e das prioridades entre as regras, por forma a garantir a sua execução segura e eficiente, possivelmente em combinação com outros tipos de regras activas. São determinadas as condições a que um conjunto de regras do tipo proposto deve obedecer para garantir a terminação e o determinismo da sua execução. A natureza especializada destas regras permite obter condições menos conservadoras do que as que são conhecidas para regras activas genéricas. Mostra-se ainda como podem ser incorporadas no modelo de regras proposto as optimizações necessárias para lidar eficientemente com dados complexos, de que se destacam a diferenciação de regras orientadas a conjuntos e o encapsulamento de regras em objectos. Finalmente, é descrita uma implementação concreta de um sistema de regras activas numa ferramenta de desenvolvimento rápido de aplicações desenvolvida no INESC, suportando regras dirigidas pelos dados e regras dirigidas por eventos, demonstrando as vantagens da abordagem proposta em relação às abordagens seguidas por outras ferramentas, apesar de alguns compromissos considerados na implementação.

6

7 Data-driven Active Rules for the Maintenance of Derived Data and Integrity Constraints in Interactive Database Applications Abstract An active rule or trigger is an event-condition-action rule with the following meaning: if the event occurs, evaluate the condition and, in case it evaluates to true, execute the action. Active rules have appeared in active database systems, where they are used for the enforcement of static or dynamic integrity constraints, the automatic calculation of derived data, the enforcement of business rules, etc. In some systems, it is possible to specify absolute or relative priorities among rules that condition the order by which multiple triggered rules are executed. An interactive database application is a computer program that allows a user to query and manipulate data stored in a database through a user interface based on forms, reports, graphics, etc. In rapid application development tools, triggers with more limited capabilities are also used for data validation, for the automatic calculation of derived data, for the dynamic control of properties of data items, to extend or override automatic behavior embedded in those tools, etc. A data-driven active rule is an active rule with implicit triggering events of a restricted type - data modification events - which can be inferred from the condition and/or the action of a rule, according to some assumptions. Data-driven active rules differ from event-driven active rules (i.e., active rules with explicit events) in the way they are defined, but not in the way they are executed; the execution of data-driven active rules is also event-driven for efficiency and integration reasons. Formulae for the calculation of derived data in spreadsheets or in rapid application development tools and generic assertions in SQL are examples of entities that may be treated as data-driven active rules. The main contribution of the work reported in this thesis is the proposal of a model of data-driven active rules specially suited for the maintenance of derived data (calculated data) and integrity constraints (data validation) in interactive database applications (namely screen forms and reports), more flexible and with better integration than other types of data-driven active rules previously proposed. Two important characteristics of the proposed model are the fixpoint semantics and the sequential execution. The fixpoint semantics means that a rule should be executed (i.e., the condition should be evaluated and, in case it evaluates to true, the action should be executed) whenever a change in the state of the data may result from its execution. Sequential execution is important to guarantee that the changes caused by the execution of a rule are not affected by the existence of other rules. Inference rules are established to obtain the triggering events and priorities of data-driven active rules, for their efficient and safe execution, possibly in combination with other types of active rules. Conditions on sets of rules are determined that guarantee termination and determinism of rule execution. The specialized nature of the proposed rules allows the determination of less conservative conditions than the ones that are known for generic active rules. It is shown how to incorporate into the proposed model the optimizations required to deal efficiently with complex data, by means of the differentiation of set oriented rules and the encapsulation of rules within objects. Finally, it is described a concrete implementation of an active rule system integrated in a rapid application development tool developed at INESC, supporting both data-driven and event-driven rules, demonstrating the advantages of the proposed approach by comparison to other tools, in spite of some compromises taken in the implementation.

8

9 Règles Actives Commandées par les Données pour la Maintenance des Données Dérivées et des Restrictions d'intégrité en Applications Interactives de Bases de Données Resumé Une règle active ( trigger ) est une triade événement-condition-action qui signifie: si l évènement survient, évaluer la condition et, si celle-ci est vraie, exécuter l action. Le terme règle active est apparu dans le domaine des Bases de Données Actives où les règles actives sont utilisées pour imposer des restrictions d intégrité statique ou dynamique, pour le calcul automatique de données dérivées, pour imposer de règles de commerce, etc. Dans certains systèmes, il est possible de spécifier des priorités absolues ou relatives entre les règles, qui conditionnent leur ordre d exécution. Une application interactive de bases de données est un logiciel qui permet à l utilisateur de visualiser et de manipuler des données emmaganisées dans un banc de données au moyen d une interface avec l utilisateur, basée sur des formulaires, des rapports et des graphiques. Dans le domaine du Développement Rapide d Applications, on utilise également des règles actives pour la validation des données introduites par l utilisateur, pour le calcul automatique de données dérivées (par exemple: des champs de formulaires ou de rapports calculés en fonction d autres champs), pour le contrôle dynamique des propriétés des champs, pour l extension et la redéfinition de comportements automatiques encapsulés dans les outils de développement, etc. Une règle active commandée par les données est une règle active ayant des évènements implicites d un type restreint évènements de modifications de données qui peuvent être inférés à partir de la condition et/ou de l action de la règle, selon certains présupposés. Les règles actives commandées par les données diffèrent des règles actives avec des évènements explicites dans leur mode de définition, mais pas dans leur mode d exécution qui, lui, est commandé par des évènements, pour des raisons d efficacité et d intégration. Des formules de calcul de données dérivées dans des tableurs ou dans des outils de développement rapide d applications et assertions générales en SQL, sont des exemples d entités qui peuvent être traitées comme des règles actives commandées par les données. La contribution principale de ce travail est la proposition d un type (ou modèle) de règles actives commandées par les données particulièrement adaptées à la maintenance des données dérivées (calculées) et des restrictions d intégrité (validations), en applications interactives de bases de données (nommément des formulaires d écran et des rapports), plus flexible et mieux intégré que d autres types de règles actives commandées par les données précédemment proposés, aussi bien dans le domaine des bases de données que dans le domaine du développement rapide d applications. Deux importantes caractéristiques du modèle de règles proposé sont la sémantique de point fixe et l exécution séquentielle. La sémantique de point fixe signifie qu une règle doit être exécutée (c est-à-dire que la condition doit être évaluée et, si elle est vraie, l action doit être mise en exécution) à chaque fois que cette exécution pourra produire une modification de l état des données. L exécution séquentielle est importante pour garantir que les modifications entrainées par l exécution d une règle ne se trouveront pas affectées par l existance d autres règles. On établit des règles d inférence des évènements déclencheurs de chaque règle et des priorités entre les règles, de façon à garantir leur exécution sûre et efficace, éventuellement en association avec d autres types de règles actives. On détermine les conditions auxquelles doit obéir un ensemble de règles du type proposé pour garantir l achèvement et le déterminisme de leur exécution. La nature spécialisée de ces règles permet d obtenir des conditions moins conservatrices que celles que l on connaît pour des règles actives générales. On montre encore comment, au modèle de règles proposé, peuvent être incorporées les optimisations nécessaires pour manier efficacement des données complexes, à souligner la différentiation de règles orientées vers des ensembles et l encapsulage de règles dans des objets. On décrit une mise en oeuvre concrète d un système de règles actives dans un outil de développement rapide d applications développé à l INESC qui admet des règles commandées par les données et des règles commandées par des évènements, démontrant les avantages de l approche

10 proposée par rapport aux approches suivies par d autres outils, malgré certains compromis adoptés lors de sa mise en oeuvre.

11

12 Agradecimentos O autor gostaria de agradecer ao Prof. Raul Moreira Vidal a sua orientação e incentivo inestimáveis. Gostaria de agradecer ao INESC-Porto, sobretudo na pessoa do Prof. Mário Jorge Leitão, pelo apoio logístico proporcionado e pelo contexto proporcionado para a ligação deste trabalho à prática. Agradeço ainda a todos os colegas da FEUP e do INESC-Porto que me apoiaram durante a realização deste trabalho, em particular ao Prof. João Correia Lopes pela ajuda preciosa prestada ao nível do trabalho docente. Queria também agradecer o apoio e a compreensão da minha esposa Maria e do meu filho Leonardo.

13 Índice 1 INTRODUÇÃO MOTIVAÇÃO CONTRIBUIÇÕES ORGANIZAÇÃO DA TESE REVISÃO DO ESTADO DA ARTE CONCEITOS BÁSICOS Restrições de integridade Dados derivados Transacções Regras activas ou gatilhos FERRAMENTAS DE DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES DE BASES DE DADOS Oracle Developer/ Microsoft Access Outras ferramentas RESTRIÇÕES DE INTEGRIDADE E GATILHOS OU REGRAS ACTIVAS EM SISTEMAS DE BASES DE DADOS Restrições de integridade declarativas em SQL Gatilhos em SQL Gatilhos em Oracle Regras activas no sistema Starbust Regras dirigidas pelos dados no projecto PARDES Restrições e gatilhos no sistema Ode CONCLUSÕES REGRAS ACTIVAS DIRIGIDAS PELOS DADOS COM SEMÂNTICA DE PONTO FIXO INTRODUÇÃO Insuficiência das abordagens puramente dirigidas por eventos Procura de abordagens dirigidas pelos dados Abordagem preconizada MODELO DE DADOS DEFINIÇÃO DE REGRAS Definição de regras de derivação Definição de regras de restrição MODELO DE EXECUÇÃO RELAXAMENTO DE ALGUMAS RESTRIÇÕES Regras que consultam o estado das variáveis de estado no início da transacção Regras que consultam a data e hora actuais ACTIVAÇÃO DAS REGRAS DEPENDÊNCIAS ENTRE REGRAS E VARIÁVEIS Variáveis de entrada e variáveis de saída de uma regra Influência da forma sintáctica Formas canónicas Unicidade e significado dos conjuntos mínimos de entradas e saídas Grafo de dependências entre regras e variáveis (grafo r-v) Grafo de dependências entre regras (grafo r-r)...51

14 xii Índice Grafo de dependências entre variáveis (grafo v-v) Grafo de interferências entre regras CRITÉRIOS DE ACTIVAÇÃO Critério de activação básico Optimizações estáticas baseadas na minimização dos conjuntos de variáveis activadoras Optimizações dinâmicas baseadas no valor da condição Optimizações dinâmicas baseadas na monitorização de eventos de leitura e escrita Activação apenas por alteração de variáveis de entrada Política de efeito líquido ORDENAÇÃO DAS REGRAS INTRODUÇÃO ORDENAÇÃO PELO PRINCÍPIO CALCULAR ANTES DE USAR Relação com ordem topológica de componentes fortemente conexos do grafo r-r Ordenação de regras mutuamente recursivas PRESERVAÇÃO DAS ALTERAÇÕES PRODUZIDAS PELO UTILIZADOR Preservação das alterações produzidas na mesma transacção Preservação das alterações produzidas em transacções mais recentes Combinação com o princípio calcular antes de usar ORDENAÇÃO DE REGRAS REDUNDANTES PURAMENTE INCONDICIONAIS Regras redundantes que impõem as mesmas restrições de maneiras diferentes Ordenações ideais Ordenações ideais de conjuntos de regras puramente incondicionais Combinação com outros critérios ORDENS DE EXECUÇÃO JUSTAS Ordens de execução justas e regras verdadeiramente recursivas Ordens de execução justas e regras falsamente recursivas ORDENAÇÃO DE REGRAS RECURSIVAS MONÓTONAS Regras recursivas monótonas Comparação de sequências de execução de pares de regras recursivas monótonas Ordenações que induzem conjuntos mínimos de arestas de realimentação no grafo r-r Ordenações que induzem uma aresta de realimentação em cada ciclo do grafo r-r OUTROS CRITÉRIOS Testar restrições o mais cedo possível Prioridades definidas pelo programador Seguir a ordem de criação das regras Minimizar o conjunto de variáveis de realimentação Critérios locais TERMINAÇÃO, DETERMINISMO E VELOCIDADE DE TERMINAÇÃO DO PROCESSAMENTO DE REGRAS TERMINAÇÃO Análise conservadora baseada no grafo de activação Análise refinada baseada no grafo de activação produtiva Análise intermédia baseada no grafo de activação da condição Detecção dinâmica de actualizações contraditórias que impedem a terminação DETERMINISMO Grafo de execução Noções de determinismo e confluência Grafo de execução parametrizado Regras comutativas Pares de regras confluentes...94

15 Índice xiii Condições suficientes de determinismo Imposição do determinismo através de prioridades Imposição do determinismo através do princípio calcular antes de usar Imposição do determinismo através de ordens de execução justas VELOCIDADE DE TERMINAÇÃO Vantagem das ordens de execução justas para o processamento de regras falsamente recursivas Ordens de execução justas com velocidades de terminação semelhantes REFINAMENTOS PARA O TRATAMENTO DE DADOS COMPLEXOS INTRODUÇÃO REGRAS ORIENTADAS A CONJUNTOS Refinamento do critério e mecanismo de activação Decomposição de variáveis de estado Regras incrementais REGRAS ORIENTADAS A INSTÂNCIAS Imposição de restrições intra-objecto através de regras intra-objecto puras Imposição de restrições inter-objecto através de regras intra-objecto parciais Imposição de restrições inter-objecto que interessam a parte dos objectos envolvidos IMPLEMENTAÇÃO DE UM MOTOR DE REGRAS ACTIVAS DIRIGIDAS PELOS DADOS ARQUITECTURA LÓGICA MÓDULO DE DEFINIÇÃO DE REGRAS (RULEDEF) Meta-classe Class Meta-classe Attribute Meta-classe RPP Meta-classe Rule Associação Rule-Precedence Associações Reads e Writes Associações On-RPP e On-Modify-Attribute Geração automática dos eventos activadores MÓDULO DE PROCESSAMENTO DE TRANSACÇÕES (TRANSPROC) Classe Transaction Classes Log e Log-Item MÓDULO DE PROCESSAMENTO DE REGRAS (RULEPROC) Sinalização de eventos (signal e signal-modified) e activação de regras (trigger) Execução das regras (execute-rules) Escolha da próxima regra a executar (choose-rule) ORDENAÇÃO DOS VÉRTICES DE UM GRAFO POR ORDEM TOPOLÓGICA DE COMPONENTES FORTEMENTE CONEXOS MINIMIZANDO INVERSÕES DE ARESTAS E DE PRIORIDADES DOS VÉRTICES Ordenação topológica Ordenação topológica minimizando inversões de prioridades Obtenção dos componentes fortemente conexos por ordem topológica Minimização de inversões de arestas nos componentes fortemente conexos Algoritmo final INTEGRAÇÃO NUMA FERRAMENTA DE DESENVOLVIMENTO DE APLICAÇÕES CARACTERÍSTICAS GERAIS DA FERRAMENTA Portabilidade e conectividade

16 xiv Índice Vistas Regras Integração de ambientes de desenvolvimento e execução de aplicações DEFINIÇÃO E MANIPULAÇÃO DE VISTAS Estrutura de dados básica de uma vista Mapeamento para a base de dados Vistas com sub-vistas Vistas com seccões hierárquicas Restrições de integridade e de acesso Operações Transacções Classes e atributos Pontos de processamento de regras REGRAS DEFINIDAS NA LINGUAGEM DE REGRAS E COMANDOS Linguagem de regras e comandos Compilação das regras Exemplos REGRAS GERADAS AUTOMATICAMENTE Regra de reinicialização Regras de acesso por chave a tabelas da base de dados Regras de agregação EXPERIÊNCIA DE UTILIZAÇÃO E LINHAS DE EVOLUÇÃO CONCLUSÕES RESULTADOS ALCANÇADOS SUGESTÕES PARA TRABALHO FUTURO REFERÊNCIAS ANEXO 1 - AN ALGORITHM TO FIND FEEDBACK EDGE SETS WITH ONE EDGE PER CYCLE ANEXO 2 - ON THE EQUIVALENCE OF VERTEX ORDERINGS MODULO THE NUMBER OF BACKWARD EDGES PER CYCLE ANEXO 3 - DATA-DRIVEN ACTIVE RULES FOR THE MAINTENANCE OF DERIVED DATA AND INTEGRITY CONSTRAINTS IN USER INTERFACES TO DATABASES

17 Lista de Abreviaturas Português Inglês BD - Base de Dados DB - Database SGBD - Sistema de Gestão de Bases de Dados DBMS - Database Management System SGBDA - Sistema de Gestão de Bases de Dados Activo ADBMS - Active Database Management System SGBDOO Sistema de Gestão de Bases de Dados Orientado a Objectos OODBMS Object Oriented Database Management System SGIU - Sistema de Gestão do Interface com o Utilizador UIMS - User Interface Management System DRA - Desenvolvimento Rápido de Aplicações RAD - Rapid Application Development PPR - Ponto de Processamento de Regras RPP - Rule Processing Point CFC - Componente Fortemente Conexo (de um grafo dirigido) SCC - Strongly Connected Component ECA - (regra) Evento-Condição-Acção ECA - Event-Condition-Action (rule) EA. (regra) Evento-Acção EA - Event-Action (rule) CA - (regra) Condição-Acção CA - Condition-Action (rule) ODBC SQL UML - Open Database Connectivity - Structured Query Language - Unified Modeling Language

18

19 1 Introdução 1.1 Motivação Uma aplicação interactiva de bases de dados é um programa de computador que permite a um utilizador visualizar e manipular dados armazenados numa ou mais bases de dados através de um interface com o utilizador baseado tipicamente em formulários, relatórios e gráficos, colectivamente designados vistas da aplicação [M97]. A figura seguinte mostra uma arquitectura típica de uma aplicação interactiva de bases de dados, na visão do autor. Aplicação Interactiva de Bases de Dados Sistema de Gestão do Interface com o Utilizador Mapeamento para a Camada de Apresentação e Interacção com o Utilizador Gestão de Dados nas Vistas da Aplicação I.R.I. C.D.D. Mapeamento para a Base de Dados Sistema de Gestão de Bases de Dados I.R.I. C.D.D. Base(s) de Dados Dados nas Vistas da Legenda: Aplicação - fluxo de dados I.R.I. - Imposição de Restrições de Integridade C.D.D. - Cálculo de Dados Derivados Fig. 1.1 Uma arquitectura típica de uma aplicação interactiva de bases de dados. Normalmente, a base de dados (BD) é gerida por um sistema de gestão de bases de dados (SGBD) e a aplicação comunica com o SGBD através de uma linguagem de interrogação e manipulação de dados não procedimental, como o SQL ("Structured Query Language"), que oferece independência lógica e física dos dados [D95][R98]. Um SGBD fornece adicionalmente outros serviços valiosos para uma aplicação, de que se destacam: gestão de transacções (grupos indivisíveis de operações sobre a base de dados): recuperação automática de erros ou falhas (associado à gestão de transacções); controlo de concorrência (associado à gestão de transacções); imposição automática de restrições de integridade estáticas (restrições nos estados válidos dos dados) ou dinâmicas (restrições nas transições de estado válidas); cálculo automático de dados derivados materializados (armazenados); manutenção automática de réplicas (em bases de dados distribuídas).

20 2 Introdução Nos SGBD's actuais, sobretudo relacionais e objecto-relacionais [SM96], algumas restrições de integridade, dados derivados e réplicas são especificados de forma declarativa, e existe um mecanismo genérico - gatilhos ("triggers") ou regras activas - para tratar os casos em que a especificação declarativa não é possível ou satisfatória. Uma regra activa ou gatilho é, na sua forma mais geral, um terno evento-condição-acção com o seguinte significado: se o evento ocorrer, avaliar a condição e, se esta for verdadeira, executar a acção (automaticamente). A comunicação entre a aplicação e o utilizador processa-se por intermédio de um sistema de gestão do interface com o utilizador (SGIU), tal como o MS-Windows ou o X-Windows, ou um sistema de mais alto nível. Dentro da aplicação, podem-se distinguir três tarefas principais: Gestão de dados nas vistas da aplicação - Os dados visualizados numa vista da aplicação são mantidos em memória temporária da aplicação, em maior ou menor grau (só o registo corrente, todos os registos visíveis, todos os registos seleccionados, etc.). Assim, uma das tarefas da aplicação é a gestão destes dados (inserção, eliminação ou modificação de registos, esvaziamento dos dados, etc.), independentemente da forma como esses dados são visualizados pelo utilizador ou da forma como esses dados estão relacionados com a base de dados. Mapeamento para a camada de apresentação e interacção com o utilizador - As acções realizadas pelo utilizador sobre uma vista da aplicação, ao nível de abstracção suportado pelo SGIU (pressionamento de um botão, alteração do conteúdo de uma caixa de texto, etc.), são traduzidas para acções sobre os dados mantidos em memória temporária (eliminação de um registo, actualização de um campo, etc.). Em sentido inverso, os dados residentes em memória temporária são formatados e apresentados ao utilizador em janela s do ecrã ou na impressora. Mapeamento para a base de dados (camada de armazenamento persistente) - As alterações acumuladas na memória temporária da aplicação são enviadas para a base de dados. Em sentido inverso, a memória temporária é carregada com dados provenientes da base de dados. Duas sub-tarefas importantes que estão intimamente relacionadas com a primeira tarefa acima mencionada (nomeadamente com a gestão de alterações nos dados das vistas da aplicação), são a imposição de restrições de integridade e o cálculo de dados derivados nas vistas da aplicação, sem o recurso ao SGBD. Uma aplicação tem de ser capaz de realizar estas sub-tarefas sem o recurso ao SGBD, por várias razões: Algumas restrições de integridade definidas na BD podem ser mapeadas para restrições de integridade numa vista da aplicação (sem o envolvimento doutros dados para além dos dados presentes nessa vista). Há toda a conveniência em verificar essas restrições de integridade localmente durante a introdução de dados, antes dos mesmos serem enviados para a BD (e, portanto, sem o envolvimento do SGBD). Dados duma vista da aplicação que podem ser calculados exclusivamente em função doutros dados introduzidos pelo utilizador na mesma vista, devem ser calculados localmente pela aplicação, sem o envolvimento do SGBD. Dados que podem ser calculados a partir de outros dados seleccionados para uma vista da aplicação (como por exemplo campos de sumário em relatórios), e que não estão sujeitos a restrições de selecção, podem ser calculados do lado da aplicação em vez de serem calculados do lado do SGBD, para não sobrecarregar as comunicações e o processamento de dados do lado da SGBD. Quando existe um canal de comunicação rápido entre a aplicação e o SGBD, e são tomadas medidas apropriadas de controlo de concorrência, as restrições de integridade que envolvem outros dados da BD para além dos que estão a ser introduzidos pelo utilizador numa vista da aplicação, podem também ser verificadas imediatamente durante a introdução de dados pelo utilizador. O mesmo se passa com os dados calculados em função doutros dados da BD, para além dos que estão a ser introduzidos pelo utilizador numa vista da aplicação.

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

Leia mais

Sistemas de Informação

Sistemas de Informação 1 1 Bases de Dados SISTEMAs DE GESTÃO DE ANO LECTIVO 2001/2002 Sistemas de Informação 2 2 Sistemas de Informação e organizações Informação e Informação nas organizações Sistemas de Informação (SI) Planeamento

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

Leia mais

Ao conjunto total de tabelas, chamamos de Base de Dados.

Ao conjunto total de tabelas, chamamos de Base de Dados. O QUE É O ACCESS? É um sistema gestor de base de dados relacional. É um programa que permite a criação de Sistemas Gestores de Informação sofisticados sem conhecer linguagem de programação. SISTEMA DE

Leia mais

Geração automática de suíte de teste para GUI a partir de Rede de Petri

Geração automática de suíte de teste para GUI a partir de Rede de Petri Raquel Jauffret Guilhon Geração automática de suíte de teste para GUI a partir de Rede de Petri Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo

Leia mais

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

Leia mais

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia

Bases de Dados 2012/2013 Restrições de Integridade em SQL. Helena Galhardas 2012 IST. Bibliografia Bases de Dados 2012/2013 Restrições de Integridade em SQL Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 1 Sumário Restrições de Integridade (RIs) em SQL Chave

Leia mais

A compreensão do mecanismo de transações é essencial, sempre que a

A compreensão do mecanismo de transações é essencial, sempre que a Transações A compreensão do mecanismo de transações é essencial, sempre que a base de dados d servir várias clientes simultaneamente. Em SQL é possível definir explicitamente os limites de uma transação.

Leia mais

Bases de Dados! 2014/15! http://ssdi.di.fct.unl.pt/bd!! João Leite (jleite@fct.unl.pt)!!!

Bases de Dados! 2014/15! http://ssdi.di.fct.unl.pt/bd!! João Leite (jleite@fct.unl.pt)!!! Bases de Dados 2014/15 http://ssdi.di.fct.unl.pt/bd João Leite (jleite@fct.unl.pt) Capítulo 1: Introdução Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

4.2. UML Diagramas de classes

4.2. UML Diagramas de classes Engenharia de Software 4.2. UML Diagramas de classes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de classes serve para modelar o vocabulário de um sistema Construído e refinado ao longo

Leia mais

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma

Bases de Dados. Bibliografia. 1. Parte I Componente Teórica. Pedro Quaresma Índice Bases de Dados Pedro Quaresma Departamento de Matemática Universidade de Coimbra 2010/2011 1. Parte I Componente Teórica 1.1 Introdução 1.2 Modelo ER 1.3 Modelo Relacional 1.4 SQL 1.5 Integridade

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Sistemas de Gestão de Bases de Dados

Sistemas de Gestão de Bases de Dados Cadeira de Tecnologias de Informação Ano lectivo 2007/08 Sistemas de Gestão de Bases de Dados Prof. Mário Caldeira Profª Ana Lucas Dr. Fernando Naves Engª Winnie Picoto Engº Luis Vaz Henriques Dr. José

Leia mais

Capítulo 1. Linguagens e processadores

Capítulo 1. Linguagens e processadores Capítulo 1. 1. Linguagens 1.1. Definição Definição : Uma linguagem L sobre um alfabeto, também designado com frequência por vocabulário, V, é um conjunto de frases, em que cada frase é uma sequência de

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Diagramas de Sequência

Diagramas de Sequência Unified Modeling Language Diagramas de Sequência José Correia, Abril 2006 (http://paginas.ispgaya.pt/~jcorreia/) UML: modelação do comportamento A modelação do comportamento de um sistema de software consiste,

Leia mais

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO ACCESS 2010 Conceitos Básicos Ficha Informativa Professor : Vanda Pereira módulo didáctico Conceitos Básicos Necessidade das base de dados Permite guardar dados

Leia mais

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 4

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 4 REFLEXÃO 4 Módulos 0776, 0780, 0781, 0786 e 0787 1/10 8-04-2013 Esta reflexão tem como objectivo partilhar e dar a conhecer o que aprendi nos módulos 0776 - Sistema de informação da empresa, 0780 - Aplicações

Leia mais

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de

Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Capítulo 8: BDs Objecto-Relacional Tipos de dados complexos e objectos Tipos de dados estruturados e herança em SQL Herança de tabelas Matrizes e multi-conjuntos em SQL Identidade de Objectos e Referência

Leia mais

Microsoft Access. Nível I. Pedro Fernandes

Microsoft Access. Nível I. Pedro Fernandes Microsoft Access Nível I Introdução Objectivos Introdução; Criar tabelas; Fazer consultas; Elaborar formulários; Executar relatórios. 2 Introdução aos Sistemas de Gestão de Bases de Dados (SGBD) Desde

Leia mais

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD)

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD) Diagrama de entidades relacionamentos (abordado anteriormente) Prod_Forn N N 1 Stock 1 1 N Prod_Enc N 1 N 1 Fornecedor Movimento Encomenda Diagrama de Fluxo de Dados (DFD) Ferramenta de modelação gráfica,

Leia mais

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I CONCEITOS BÁSICOS 1. Conceitos básicos de BD, SBD e SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG Bases de Dados O que é uma Base de Dados? Dados Pode-se começar por tentar dar uma definição do que são Dados. Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa que

Leia mais

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006

Tópicos Avançados de Bases de Dados Instituto Politécnico da Guarda, Escola Superior de Tecnologia e Gestão, 2005/2006 Programa de TABD 2004/2005 Componente teórica Tópicos Avançados de Bases de Dados Revisão e complemento de bases de dados relacionais Revisão de conceitos básicos Transacções e controlo de concorrência

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas) ENIAC Introdução aos Computadores e à ção (Noções Básicas) Introdução aos Computadores e à ção (Noções Básicas) 1 Introdução aos Computadores e à ção (Noções Básicas) 2 O transistor foi inventado em 1947

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Bases de Dados Distribuídas

Bases de Dados Distribuídas Introdução Devido ao ambiente de grande competitividade em que as organizações de hoje têm que actuar, estas são forçadas a distribuir-se geograficamente, procurando as condições locais mais favoráveis

Leia mais

Conceitos, tabelas e consultas

Conceitos, tabelas e consultas MICROSOFT ACCESS Conceitos, tabelas e consultas 1. CONCEITOS Base de Dados é um conjunto de dados organizados SGBD (Sistema de Gestão de Base de Dados) programa que permite fazer a gestão da base de dados.

Leia mais

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Outubro de 2003 ISBN: 972-8426-76-3 Depósito legal: 202574/03

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Outubro de 2003 ISBN: 972-8426-76-3 Depósito legal: 202574/03 FICHEIROS COM EXEMPLOS Envie um e-mail* para software@centroatlantico.pt para conhecer os endereços de Internet de onde poderá fazer o download dos ficheiros com os exemplos deste livro. * O leitor consente,

Leia mais

Manual de Utilização do OTRS ITSM [1.3]

Manual de Utilização do OTRS ITSM [1.3] Manual de Utilização do OTRS ITSM [1.3] ÍNDICE Manual de Utilização do OTRS ITSM [1.3]... 1 ÍNDICE... 2 ÍNDICE DE FIGURAS... 3 Prefácio... 4 2 Acesso ao OTRS ITSM... 5 Registo de Ticket Classificação do

Leia mais

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida UFCD 787 Administração de base de dados Elsa Marisa S. Almeida 1 Objectivos Replicação de base de dados Gestão de transacções Cópias de segurança Importação e exportação de dados Elsa Marisa S. Almeida

Leia mais

Gonçalo Amador Ricardo Alexandre. Bases de Dados Distribuídas

Gonçalo Amador Ricardo Alexandre. Bases de Dados Distribuídas Sistemas Distribuidos e Tolerância a Falhas Gonçalo Amador Ricardo Alexandre Departamento de Informática Universidade da Beira Interior Bases de Dados Distribuídas 1 Modelos de Bases de Dados 2 Conceitos

Leia mais

Base de dados I. Base de dados II

Base de dados I. Base de dados II Base de dados I O que é? Uma base de dados é um simples repositório de informação, relacionada com um determinado assunto ou finalidade, armazenada em computador em forma de ficheiros Para que serve? Serve

Leia mais

Tarefa Orientada 2 Criar uma base de dados

Tarefa Orientada 2 Criar uma base de dados Tarefa Orientada 2 Criar uma base de dados Objectivos: Criar uma base de dados vazia. O Sistema de Gestão de Bases de Dados MS Access Criar uma base dados vazia O Access é um Sistema de Gestão de Bases

Leia mais

PHC Workflow CS. O controlo e a automatização de processos internos

PHC Workflow CS. O controlo e a automatização de processos internos PHC Workflow CS O controlo e a automatização de processos internos A solução que permite que um conjunto de acções a executar siga uma ordem pré-definida, de acordo com as normas da empresa, aumentando

Leia mais

EXCEL. Listas como Bases de Dados

EXCEL. Listas como Bases de Dados Informática II Gestão Comercial e da Produção EXCEL Listas como Bases de Dados (TÓPICOS ABORDADOS NAS AULAS DE INFORMÁTICA II) Curso de Gestão Comercial e da Produção Ano Lectivo 2002/2003 Por: Cristina

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

Faculdade Lourenço Filho - ENADE 2011-1

Faculdade Lourenço Filho - ENADE 2011-1 1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode

Leia mais

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual

Engenharia de Software Sistemas Distribuídos. 2º Semestre, 2007/2008. Departamento Engenharia Informática. Enunciado do projecto: Loja Virtual Engenharia de Software Sistemas Distribuídos 2º Semestre, 2007/2008 Departamento Engenharia Informática Enunciado do projecto: Loja Virtual Fevereiro de 2008 Índice Índice...2 Índice de Figuras...3 1 Introdução...4

Leia mais

Microsoft Access. No Access, existem vários tipos de objectos: Tabelas. Consultas. Formulários Relatórios Macros Módulos

Microsoft Access. No Access, existem vários tipos de objectos: Tabelas. Consultas. Formulários Relatórios Macros Módulos É um SGBD do tipo relacional para a utilização em windows. Ao abrirmos o Access, podemos efectuar várias operações: abrir uma base de dados existente, ou então criar uma nova base de dados. Se criarmos

Leia mais

UFCD 786. Instalação e configuração de sistemas de bases de dados

UFCD 786. Instalação e configuração de sistemas de bases de dados UFCD 786 Instalação e configuração de sistemas de bases de dados 1 Noção de Base de Dados De uma forma genérica uma base de dados é um conjunto de dados (BD) Exemplos de BD s: Uma agenda de moradas Uma

Leia mais

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Luís Filipe Borges Pinto Resumo: Este projecto consiste na implementação de uma aplicação WEB para monitorização

Leia mais

Interface Homem Máquina para Domótica baseado em tecnologias Web

Interface Homem Máquina para Domótica baseado em tecnologias Web Interface Homem Máquina para Domótica baseado em tecnologias Web João Alexandre Oliveira Ferreira Dissertação realizada sob a orientação do Professor Doutor Mário de Sousa do Departamento de Engenharia

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Processamento de Transações Ambiente com SGBD Distribuído Transações

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Aspectos genéricos - Base de Dados

Aspectos genéricos - Base de Dados Aspectos genéricos - Base de Dados 1) Ficheiros de dados, registos e campos 2) Base de Dados Flat_File (de uma tabela) 2.1) Especificação e exemplo 2.2) Limitações das bases de dados baseadas em uma só

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Fernando Castor A partir de slides elaborados por Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação

Leia mais

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante Banco de Dados 1 Programação sucinta do curso:. Conceitos fundamentais de Banco de Dados.. Arquitetura dos Sistemas Gerenciadores de Banco de Dados (SGBD ou DBMS).. Características típicas de um SGBD..

Leia mais

Manual de Access 2007

Manual de Access 2007 Manual de Access 2007 Índice Introdução... 4 Melhor que um conjunto de listas... 5 Amizades com relações... 6 A Estrutura de uma Base de Dados... 8 Ambiente do Microsoft Access 2007... 9 Separadores do

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

CADERNOS DE SOCIOMUSEOLOGIA Nº 14 1999 27

CADERNOS DE SOCIOMUSEOLOGIA Nº 14 1999 27 CADERNOS DE SOCIOMUSEOLOGIA Nº 14 1999 27 3 - MANUAL DO UTILIZADOR Diogo Mateus 3.1. REQUISITOS MÍNIMOS * Computador Pessoal com os seguintes Programas * Microsoft Windows 95 * Microsoft Access 97 A InfoMusa

Leia mais

Enunciado do Projecto

Enunciado do Projecto C O M P U T A Ç Ã O M Ó V E L 2 0 0 7 / 2 0 0 8 Enunciado do Projecto 17 de Março de 2008 1. Objectivos Desenvolver uma aplicação num domínio aplicacional específico que envolva replicação e sincronização

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

Engenharia de Software LEIC/LERC, 3 o Ano, 2 o Semestre, Ano lectivo de 2009/2010

Engenharia de Software LEIC/LERC, 3 o Ano, 2 o Semestre, Ano lectivo de 2009/2010 UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LERC, 3 o Ano, 2 o Semestre, Ano lectivo de 2009/2010 Segundo Exame 16 de Julho de 2010, 9:00H 11:30H (Versão A) Nome:

Leia mais

WorkinProject 8 Manual de Referência Rápida

WorkinProject 8 Manual de Referência Rápida WorkinProject 8 Manual de Referência Rápida Flagsoft, Lda 2015 Índice 1. Introdução...3 2. Integrador - Interface com o utilizador...4 3. Registo de actividade - Folha de horas...5 4. Agenda e colaboração...7

Leia mais

Sistemas Operativos I

Sistemas Operativos I Componentes de um Sistema Operativo Maria João Viamonte / Luis Lino Ferreira Fevereiro de 2006 Sistema Operativo Um Sistema Operativo pode ser visto como um programa de grande complexidade, responsável

Leia mais

Hugo Pedro Proença, 2007

Hugo Pedro Proença, 2007 Stored Procedures À medida que a complexidade dos sistemas aumenta, torna-se cada vez mais difícil a tarefa de integrar o SQL com as aplicações cliente. Além disto, é necessário que todas as aplicações

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 04 SGBD Sistemas Gerenciadores de Bancos de Dados Prof. MSc. Edilberto Silva edilms@yahoo.com Conceitos Básicos DADOS: são fatos em sua forma primária. Ex: nome do funcionário,

Leia mais

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO DOMINE A 110% ACCESS 2010 A VISTA BACKSTAGE Assim que é activado o Access, é visualizado o ecrã principal de acesso na nova vista Backstage. Após aceder ao Access 2010, no canto superior esquerdo do Friso,

Leia mais

Porque as suas regras de negócio são específicas, precisa de uma sua solução de gestão que permite gerir essa diferença.

Porque as suas regras de negócio são específicas, precisa de uma sua solução de gestão que permite gerir essa diferença. Porquê NEXT Vision Porque as suas regras de negócio são específicas, precisa de uma sua solução de gestão que permite gerir essa diferença.... Poder de adaptação Porque cabe a si decidir como pretende

Leia mais

Versão 1.0. [08.02.2012] 2012, Portugal - Efacec Sistemas de Gestão S.A. Todos os direitos reservados. 1

Versão 1.0. [08.02.2012] 2012, Portugal - Efacec Sistemas de Gestão S.A. Todos os direitos reservados. 1 Copyright 2012 Efacec Todos os direitos reservados. Não é permitida qualquer cópia, reprodução, transmissão ou utilização deste documento sem a prévia autorização escrita da Efacec Sistemas de Gestão S.A.

Leia mais

Aplicabilidade: visão geral

Aplicabilidade: visão geral CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação

Leia mais

Elsa Cardoso, DCTI - ISCTE

Elsa Cardoso, DCTI - ISCTE Elsa Cardoso, DCTI - ISCTE 25 Maio 2004 elsa.cardoso@iscte.pt Sumário Perspectiva de Desenho do Sistema: Diagrama de classes numa perspectiva de Desenho: Estereótipos Relação de Dependência Relação de

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

trigger insert, delete, update

trigger insert, delete, update 1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,

Leia mais

Processo de análise estruturada - Abordagem clássica

Processo de análise estruturada - Abordagem clássica Processo de análise estruturada - Abordagem clássica Desenvolver modelo físico actual Modelo físico actual Modelos a desenvolver tendo em conta a abordagem clássica Desenvolver modelo lógico actual Modelo

Leia mais

Noções de Processamento de Transações, Controle de Concorrência e Recuperação de Falhas

Noções de Processamento de Transações, Controle de Concorrência e Recuperação de Falhas Noções de Processamento de, e Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Transação

Leia mais

INTRODUÇÃO AO MODELO ADO.NET (DESCONECTADO)

INTRODUÇÃO AO MODELO ADO.NET (DESCONECTADO) INTRODUÇÃO AO MODELO ADONET (DESCONECTADO) O modelo ADONET (Activex Data Objects NET) consiste num conjunto de classes definidas pela NET framework (localizadas no namespace SystemData) que pode ser utilizado

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

Migrar para o Excel 2010

Migrar para o Excel 2010 Neste Guia Microsoft O aspecto do Microsoft Excel 2010 é muito diferente do Excel 2003, pelo que este guia foi criado para ajudar a minimizar a curva de aprendizagem. Continue a ler para conhecer as partes

Leia mais

3. Engenharia de Requisitos

3. Engenharia de Requisitos Engenharia de Software 3. Engenharia de Requisitos Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Fases do desenvolvimento de software que mais erros originam (fonte: "Software Testing", Ron Patton)

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

Leia mais

Curso de Iniciação ao Access Basic (I) CONTEÚDOS

Curso de Iniciação ao Access Basic (I) CONTEÚDOS Curso de Iniciação ao Access Basic (I) CONTEÚDOS 1. A Linguagem Access Basic. 2. Módulos e Procedimentos. 3. Usar o Access: 3.1. Criar uma Base de Dados: 3.1.1. Criar uma nova Base de Dados. 3.1.2. Criar

Leia mais

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires

Transações. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com. Material do Prof. Paulo Pires Transações Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material do Prof. Paulo Pires Introdução a Transações SGBD sistema de processamento de operações de acesso ao BD SGBDs são em geral multi-usuários

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro !"#$ Excepção: condição de erro; quando ocorre o erro é levantada uma excepção que interrompe o fluxo normal de execução do programa e o direcciona para uma rotina de tratamento

Leia mais

Enunciado de apresentação do projecto

Enunciado de apresentação do projecto Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 Enunciado de apresentação do projecto FEARSe Índice 1 Introdução... 2 2 Cenário de Enquadramento... 2 2.1 Requisitos funcionais...

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

Leia mais

Introdução. Gerenciamento de Dados e Informação. Principais Tipos de SI. Papel de SI. Principais Tipos de SI. Principais Tipos de SI.

Introdução. Gerenciamento de Dados e Informação. Principais Tipos de SI. Papel de SI. Principais Tipos de SI. Principais Tipos de SI. Introdução Gerenciamento de Dados e Informação Introdução Sistema de Informação (SI) Coleção de atividades que regulam o compartilhamento e a distribuição de informações e o armazenamento de dados relevantes

Leia mais

Banco de Dados Distribuídos

Banco de Dados Distribuídos A imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer

Leia mais

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark

UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO. Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Licenciatura em Engenharia Informática e Computadores Alameda e Taguspark Sistemas Distribuídos e Engenharia de Software Projecto de 2010/2011

Leia mais

Iteração 2 Design inicial

Iteração 2 Design inicial Universidade de Aveiro Departamento de Electrónica, Telecomunicações e Informática Engenharia de Software Iteração 2 Design inicial Projecto: FX-Center Grupo: BEDS David Pacheco (nº 32665) Cesário Lucas

Leia mais

Índice. Introdução às bases de dados. Parte 1 ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17

Índice. Introdução às bases de dados. Parte 1 ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17 Índice ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17 Parte 1 Introdução às bases de dados 1. Introdução 21 1.1. Os sistemas de bases de dados 23 1.1.1. Breve historial 23

Leia mais

A engenharia de software avança por padrões

A engenharia de software avança por padrões A engenharia de software avança por padrões Rodrigo Serafim, CTO Quidgest www.quidgest.com quidgest@quidgest.com Temas Taxonomia de um sistema de informação O que é um padrão de negócio Peças de uma fábrica

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35 Introdução 31 1. Bases de Dados Relacionais 31 2. Modelação de Bases de Dados 31 3. Modelo de Classes UML 32 4. Linguagem SQL 32 5. Sobre o Microsoft" Access" 32 Tutorial 1: O Microsoft Access como Sistema

Leia mais

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA 73 COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA Daniel José Angotti Analista de Negócio, Repom S/A djangotti@gmail.com Carlos

Leia mais

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados 6.2.1. Visão Estrutural 6.2.2. SGBD: Sistema de Gestão de Bases de Dados

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados 6.2.1. Visão Estrutural 6.2.2. SGBD: Sistema de Gestão de Bases de Dados Curso Profissional de Técnico de Multimédia 12ºAno Disciplina: Sistemas de Informação Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados 6.2.1. Visão Estrutural 6.2.2. SGBD: Sistema

Leia mais

OCL: Object Constraint Language

OCL: Object Constraint Language OCL: Amílcar Domingos Rodrigues Santy Fernandes, Girson César Silva Monteiro, Rui Sá Guerra, Simão Castro Faculdade de Engenharia da Universidade Do Porto, Rua Dr. Roberto Frias, s/n 4200-465 Porto, Portugal

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Desenho de Software Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt desenho Desenho (dicionário Priberam on-line) do Lat.! designu s. m., arte de representar

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Esta prova inclui o 1º Exame e o 2º Teste da disciplina de Base de Dados e é composta por 11 páginas. Indique se está a prestar provas para o:

Esta prova inclui o 1º Exame e o 2º Teste da disciplina de Base de Dados e é composta por 11 páginas. Indique se está a prestar provas para o: Prova Escrita de Base de Dados 13 Janeiro 2005 - V1 Número do Aluno: Nome do Aluno: Esta prova inclui o 1º Exame e o 2º Teste da disciplina de Base de Dados e é composta por 11 páginas. 1º Exame - o exame

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

3. PLANEAMENTO DA PRODUÇÃO (NÍVEL 1)

3. PLANEAMENTO DA PRODUÇÃO (NÍVEL 1) 3. PLANEAMENTO DA PRODUÇÃO (NÍVEL 1) Neste ponto, são abordados os módulos de planeamento da produção do software BaaN. Este software dispõe dos seguintes três módulos complementares de planeamento: MPS

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 6.1 ARQUIVOS E REGISTROS De um modo geral os dados estão organizados em arquivos. Define-se arquivo como um conjunto de informações referentes aos elementos

Leia mais

Ficha prática nº 7. SGBD Microsoft Access e SQL Server

Ficha prática nº 7. SGBD Microsoft Access e SQL Server Instituto Superior Politécnico de Viseu Escola Superior de Tecnologia Departamento de Informática Ficha prática nº 7 SGBD Microsoft Access e SQL Server Objectivo: Criação de uma aplicação em arquitectura

Leia mais