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.

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

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

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

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

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

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

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

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

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

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

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

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

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2º Semestre 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização,

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

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

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

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

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

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

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

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

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

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

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

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

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

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

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

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

Portal AEPQ Manual do utilizador

Portal AEPQ Manual do utilizador Pedro Gonçalves Luís Vieira Portal AEPQ Manual do utilizador Setembro 2008 Engenharia Informática - Portal AEPQ Manual do utilizador - ii - Conteúdo 1 Introdução... 1 1.1 Estrutura do manual... 3 1.2 Requisitos...

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

Análise de Sistemas. Conceito de análise de sistemas

Análise de Sistemas. Conceito de análise de sistemas Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de

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

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

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

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Processos de Software. 2007 by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando

Leia mais

Projecto de Programação MEEC - 2010/2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Projecto de Programação MEEC - 2010/2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização do estado de

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

Diário da República, 1.ª série N.º 145 29 de Julho de 2008 5106-(19)

Diário da República, 1.ª série N.º 145 29 de Julho de 2008 5106-(19) Diário da República, 1.ª série N.º 145 29 de Julho de 2008 5106-(19) Portaria n.º 701-E/2008 de 29 de Julho O Código dos Contratos Públicos consagra a obrigação das entidades adjudicantes de contratos

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

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

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 GereComSaber Ana Duarte, André Guedes, Eduardo

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

A gestão de processos de negócio: conceitos e ferramentas BPM

A gestão de processos de negócio: conceitos e ferramentas BPM FACULDADE DE LETRAS DA UNIVERSIDADE DO PORTO A gestão de processos de negócio: conceitos e ferramentas BPM Trabalho realizado por: Ana Luisa Veiga Filipa Ramalho Doutora Maria Manuela Pinto GSI 2007 AGENDA:

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

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

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

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD Oracle SGBD Oracle Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD Oracle Introdução aos SGBD Base de Dados Colecção de dados que descrevem alguma realidade Sistema de

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

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados

Leia mais

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados SQL (Structured Querie Language) SQL é mais que uma linguagem de interrogação estruturada. Inclui características para a definição da estrutura de dados, para alterar os dados de uma base de dados, e para

Leia mais

Índice 1 INTRODUÇÃO...2 2 PESQUISA DE ENTIDADES...8 3 CRIAÇÃO DE ENTIDADES...12 4 DEPENDÊNCIAS...17 5 BANCOS, SEGURADORAS E CONSERVATÓRIAS...

Índice 1 INTRODUÇÃO...2 2 PESQUISA DE ENTIDADES...8 3 CRIAÇÃO DE ENTIDADES...12 4 DEPENDÊNCIAS...17 5 BANCOS, SEGURADORAS E CONSERVATÓRIAS... Índice 1 INTRODUÇÃO...2 1.1 JANELA ÚNICA DE ENTIDADES...3 1.2 PERMISSÕES POR UTILIZADOR...4 1.3 RESTRIÇÕES À VISUALIZAÇÃO/MANIPULAÇÃO...6 2 PESQUISA DE ENTIDADES...8 2.1 CRITÉRIOS DE PESQUISA...8 2.2 LISTA

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

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES Formulação A programação linear lida com problemas nos quais uma função objectivo linear deve ser optimizada (maximizada ou minimizada)

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

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

ATENAS: Um Sistema Gerenciador de Regras de Negócio

ATENAS: Um Sistema Gerenciador de Regras de Negócio 1. Introdução ATENAS: Um Sistema Gerenciador de Regras de Negócio Geraldo Zimbrão da Silva (IM/UFRJ) Victor Teixeira de Almeida (COPPE/UFRJ) Jano Moreira de Souza (COPPE/UFRJ) Francisco Gonçalves Pereira

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

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

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

SISTEMAS DE INFORMAÇÃO PARA GESTÃO

SISTEMAS DE INFORMAÇÃO PARA GESTÃO 07-05-2013 1 SISTEMAS DE INFORMAÇÃO PARA GESTÃO Aula I Docente: Eng. Hercílio Duarte 07-05-2013 2 Objectivo Sistemas Modelos Dados Vs. Informação Introdução aos sistemas de Informação 07-05-2013 3 Introdução

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

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

PHC Recursos Humanos CS

PHC Recursos Humanos CS PHC Recursos Humanos CS A gestão total dos Recursos Humanos A solução que permite a optimização da selecção e recrutamento, a correcta descrição de funções, a execução das avaliações de desempenho e a

Leia mais

De Arte a Ciência: Regras para o Desenho de Software

De Arte a Ciência: Regras para o Desenho de Software De Arte a Ciência: Regras para o Desenho de Software Neste artigo é apresentado um conjunto de regras de desenho um padrão de desenho universal associado ao princípio fundamental e aos requisitos axiomáticos.

Leia mais

Bases de Dados 2007/2008. Aula 1. Referências

Bases de Dados 2007/2008. Aula 1. Referências Bases de Dados 2007/2008 Aula 1 Sumário 1. SQL Server 2000: configuração do acesso ao servidor. 1.1. SQL Server Service Manager. 1.2. SQL Server Enterprise Manager. 1.3. SQL Query Analyzer. 2. A base de

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

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

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

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

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Banco de Dados Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Roteiro Mapeamento de objetos para modelo relacional Estratégias de persistência Persistência JDBC Mapeando Objetos para o Modelo Relacional

Leia mais

Sistemas de Bases de Dados

Sistemas de Bases de Dados Sistemas de Bases de Dados Carlos Viegas Damásio José Alferes e Carlos Viegas Damásio Sistemas de Bases de Dados 2014/15 Objectivos - Em Bases de Dados (2º ano) pretendia-se: Que os estudantes fossem capazes

Leia mais

Guia de Depósito Teses

Guia de Depósito Teses Guia de Depósito Teses Descreva o documento que está a depositar Página 1 Se seleccionar todas as opções nesta página, visualizará um formulário diferente, modificado com o intuito de capturar informações

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

ORIENTAÇÃO SOBRE PRINCÍPIOS DE AUDITORIA NP EN ISO 19011:2003. Celeste Bento João Carlos Dória Novembro de 2008

ORIENTAÇÃO SOBRE PRINCÍPIOS DE AUDITORIA NP EN ISO 19011:2003. Celeste Bento João Carlos Dória Novembro de 2008 ORIENTAÇÃO SOBRE PRINCÍPIOS DE AUDITORIA NP EN ISO 19011:2003 Celeste Bento João Carlos Dória Novembro de 2008 1 SISTEMÁTICA DE AUDITORIA - 1 1 - Início da 4 - Execução da 2 - Condução da revisão dos documentos

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

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

Modelos. Comunicação com clientes

Modelos. Comunicação com clientes Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF

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

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

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

Conceito. As empresas como ecossistemas de relações dinâmicas

Conceito. As empresas como ecossistemas de relações dinâmicas Conceito As empresas como ecossistemas de relações dinâmicas PÁG 02 Actualmente, face à crescente necessidade de integração dos processos de negócio, as empresas enfrentam o desafio de inovar e expandir

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

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais