MODELAGEM E APLICAÇÃO DE REGRAS DE NEGÓCIOS PARA BANCO DE DADOS RELACIONAL Márcia Terezinha Tonieto - FLF Hélio Augusto de Sabóia Moura - FLF

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

Download "MODELAGEM E APLICAÇÃO DE REGRAS DE NEGÓCIOS PARA BANCO DE DADOS RELACIONAL Márcia Terezinha Tonieto - FLF Hélio Augusto de Sabóia Moura - FLF"

Transcrição

1 MODELAGEM E APLICAÇÃO DE REGRAS DE NEGÓCIOS PARA BANCO DE DADOS RELACIONAL Márcia Terezinha Tonieto - FLF Hélio Augusto de Sabóia Moura - FLF Resumo: Este trabalho apresenta técnicas aplicadas ao SGBD Relacional para se garantir a integridade do sistema. A integridade do sistema de Banco de Dados depende muito do projeto lógico e físico, porém boa parte da segurança fica a cargo da programação e de regras estabelecidas durante a fase de desenvolvimento, o estabelecimento de regras explícitas no Banco de Dados utilizando estudos de um Sistema Gerenciador de Banco de Dados Relacional muito utilizado, principalmente em grandes organizações com alta demanda de informações, o Oracle 9i, ferramenta de programação PL/SQL em um Sistema de Gestão Hospitalar. Abstract: This work presents technology applied to the DBMs to support the system rightness. The integrity of a Database System depends a lot on a logical an physical project, although a security cam be attributed to the programation an rules determined during the development stage. In that context, we analise the applications of a business Roles on a Relational Database Management System very used, mainly in great organizations with demand very discharge of information - Oracle 9i, besides that tool, a tool of development procedures PLSQL Procedure Builder, was used in a Hospital Management System. Palavras Chaves: Regras de negócio, triggers, metamodelos, segurança, integridade e Banco de Dados. Introdução Nos tempos de hoje, as empresas ganham vantagens competitivas, tomando decisões eficientes baseadas em informações. Com isso, o grande volume de dados armazenados e a demanda por acesso a estes têm contribuído para o desenvolvimento de novas terminologias, conceitos e tecnologias mais eficazes no armazenamento e no resgate dessas informações. Refletindo sobre esse novo paradigma, surgem as perguntas: ao longo da vida útil do sistema os usuários são capazes de garantir regras impostas na fase de desenvolvimento do projeto do sistema? A documentação e o entendimento das mesmas é suficiente para não alterar determinadas regras que possam ser críticas para a integridade dos dados? O presente projeto vem divulgar o uso de regras em um Sistema Gerenciador de Banco de Dados Relacional, com o objetivo de assegurar, através do Banco de dados, que as especificações de negócios, segurança e integridade de informações, definidas no início do projeto do sistema ou determinadas ao longo de sua vida útil, devam ser mantidas,

2 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, independentes de implementações ou interferências de usuários, como forma de garantir a integridade e a propagação dos objetivos do sistema. Objetivo Geral Definição de componentes, Metamodelos e Ferramentas de Modelagem de Regras de Negócios e a verificação dos resultadas da aplicação prática de regras em um banco de dados de grande porte. Objetivos Específicos Definir regras de negócios, componentes e classificação das mesmas. Apresentar os Metamodelos e Ferramentas de Modelagem de Regras de Negócios para banco de dados relacionais. Observar a aplicabilidade prática destes Metamodelos. Relatar a experiência da aplicabilidade e resultados das regras em um banco de dados de grande porte (Oracle 9i, Sistema de Gestão Hospitalar). Justificativa A vantagem da aplicação de regras de negócios no Banco de Dados não se restringe ao fato da integridade dos dados. Pelo contrário, há o ganho de performance sobre o trabalho do programador humano, porque os triggers serão disparados a partir de eventos que são habilitados a avaliar uma gama maior de alternativas do que o programador seria capaz de fazer. Isso será feito automaticamente em tempo de execução do sistema gerenciador de banco de dados e o custo será relativamente baixo. Com o uso de triggers, eliminar-se-á o esforço manual e repetitivo de identificar e corrigir comandos e regras mal implementados, pobres em desempenho. O trabalho dos desenvolvedores de aplicações será facilitado ganhando em produtividade, pois não perderão tempo com correções e buscas de regras já definidas e controladas pelo banco de dados. Os clientes ficarão muito satisfeitos, pois suas aplicações terão informações precisas independentes da ferramenta utilizada para consegui-las. Regras de Negócio Definição Os sistemas de informação abrangem, com freqüência, um grande volume de conhecimento organizacional formalizado. Tal conhecimento é especificado como regras de negócio [7], já antes definidas por Bell [10] como sendo declarações que apresentam a maneira de como o negócio está sendo feito, além das diretrizes e restrições com respeito a estados e processos em uma organização. Surge com isso a necessidade de se modelar regras de negócio, enfatizando a sua importância em um esquema conceitual, que representa todas as regras que governam o universo de discussão [12] devendo estar definidas dentro de um esquema conceitual. A partir desta necessidade, tais regras de negócio têm sido amplamente utilizadas pelas organizações como forma de melhorar a qualidade de seus sistemas.

3 72 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, 2003 Atualmente, os SGBDs têm a capacidade de executar ações através do uso de regras ativas baseadas no paradigma Evento-Condição-Ação (ECA)[12]. O componente "Evento" indica o momento do disparo da regra, a "Condição" indica um predicado a ser avaliado e a "Ação" o que tem de ser feito, caso a condição seja válida. Estes mecanismos ativos, denominados gatilhos (triggers) em bancos de dados, proporcionam uma funcionalidade aos SGBDs, cuja principal aplicação tem sido a manutenção de integridade e restrições de acesso aos bancos de dados. Desde que devidamente especificadas no esquema conceitual, regras de negócio podem ser implementadas com o paradigma ECA, ampliando a sua aplicação a problemas do mundo real. Componentes das Regras Ativas Para a especificação de regras ativas e de modo a apresentar a importância prática do paradigma ECA, os componentes evento, Condição e Ação merecem um interesse especial por sua riqueza semântica e sua complexidade detalhadas a seguir: Componente Evento: O Evento é o componente disparador da regra. Álgebras de eventos, como, por exemplo, as usadas nos sistemas Snoop (linguagem de especificação para SGBDs ativos) e SAMOS (Swiss Active Mechanism Based Object-Oriented Database System) foram propostas para formalizar o conceito de evento. A álgebra de evento Snoop é uma linguagem de especificação para SGBDs ativos desenvolvida na Universidade da Flórida, EUA [5]. Um evento em Snoop é definido como uma ocorrência atômica de uma operação no banco de dados, uma ação externa explícita ou um fato temporal. Figura 1 - Classificação de Eventos Snoop Eventos podem ser compostos através de operadores lógicos como conjunção, disjunção ou seqüência, resultando em ocorrências atômicas. A álgebra de eventos SAMOS foi desenvolvida na Universidade de Zurich, Suíça, utilizando como base o SGBD Orientado a

4 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, Objeto (SGBDOO) ObjectStore. Semelhantemente ao Snoop, os eventos propostos por SAMOS são simples ou compostos, com pequenas diferenças quanto à classificação dos eventos simples e quanto aos operadores de eventos compostos. Componente Condição: Condições das regras podem ser classificadas de acordo com os tipos de restrições de integridade. À semelhança do evento, o componente Condição pode ser simples e composto [9]. Condições simples são predicados atômicos aplicados sobre o estado corrente do banco de dados, podendo incluir operadores booleanos unários tal como NOT. Condições compostas resultam da aplicação dos operadores booleanos binários AND ou OR em condições simples ou compostas. Componente Ação: Para o componente ação das regras ativas, foram propostas várias classificações, dependendo da natureza das operações que executam (operações de banco de dados ou das aplicações). De forma semelhante aos componentes Evento e Condição, as ações também podem ser classificadas em ações simples e compostas. Ação simples consiste em exatamente uma operação que não seja refinada posteriormente. Ação composta é uma sucessão de algumas operações a serem executadas. Classificação das Regras de Negócio De forma genérica, regras de negócio, sob forma de regras ativas, podem ser classificadas em dois tipos [11]: Regras de Integridade: representam a semântica das restrições de integridade, que são estendidas tornando explícito o disparo de eventos e a reação sobre uma violação de restrição. Exemplo: ON (estoque de produto atualizado) IF (novo estoque < 0) THEN emitir mensagem de erro O estoque não pode ser menor que zero Regras de Automatização: descrevem a lógica de execução de uma tarefa; assim, a violação da condição não tem a semântica de um erro. Exemplo: ON (estoque de produto atualizado) IF (novo estoque < limite para pedido de reposição) THEN fazer um pedido do produto. Metamodelos e Ferramentas de Modelagem de Regras de Negócio Definição Os modelos são um dispositivo de abstração e devem ser suficientemente poderosos para fornecer alguma compreensão dos objetos do nosso mundo e como eles se relacionam. Os modelos não são somente utilizados para facilitar a compreensão humana e aumentar o número de detalhes, mas, quando estes são automatizados, definem a nossa realidade. Os conceitos de metamodelos não são novos. Este modelo conceitual cresceu nos últimos anos, principalmente, pelo crescimento da Internet, Intranet e, a utilização e o

5 74 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, 2003 surgimento de novas ferramentas CASE ( Computer-Aided Software Engineering), Ferramenta ou conjunto de ferramentas que automatizam tarefas que compõem o processo de desenvolvimento de software O motivo principal deste crescimento foi a necessidade de integração dos dados na etapa de desenvolvimento de software. E, com destaque para as ferramentas CASE. Estas necessitam que os metamodelos sejam dinâmicos, ou seja, que o usuário possa configurar o metamodelo de acordo com as suas necessidades. A abordagem convencional para a modelagem é descrita por meio de níveis de detalhamento conforme a figura 2. Um metamodelo é um modelo que define outros modelos, ou seja, modelo de informação para informações que podem ser expressas durante a modelagem. No nível modelo temos a coleção de artifícios (diagramas, tabelas, descrições etc.) montados durante a modelagem de um sistema. Cada nível da figura 3 determina a maneira como o nível inferior será expresso. A figura 2 descreve cada nível de modelagem como um grupo distintamente separado porque é assim que os níveis tipicamente são desenvolvidos e aplicados. Na prática, com freqüência, a modelagem é executada com a abordagem "de cima para baixo". Metamodelo Modelo Dados e Processos Figura 2 - Níveis de modelagem convencional Os metamodelos vão conter o nível mais amplo das regras de negócios que vão definir a modelagem de um sistema, é através de metamodelos que as organizações definem suas regras de negócios, que de algum modo definem ou restringem políticas e práticas de ações. A seguir serão descritos metamodelos reportados na literatura bem como ferramentas de modelagem conceitual com especificação de regras de negócio: o BROCOM (Business Rule Oriented Conceptual Modeling), desenvolvido na Universidade de Bern, Suíça [ 9 ]; o RIM - Rechnergestütztes InformationsManagement (gerência de informação baseado em computador), desenvolvido pelo Instituto de Sistemas de Informação, da Universidade de St. Gall, Alemanha; e o (ER) 2, proposto em e desenvolvido no Instituto Militar de Engenharia, Rio de Janeiro, Brasil [5, 6]. A tabela abaixo apresenta uma análise comparativa desses metamodelos, a partir dos seguintes critérios: os componentes do metamodelo como objetos do universo de discussão e os fatos organizacionais no metamodelo que abrange tipos de metaclasses que são relevantes e estão relacionadas com as regras de negócio. Os metamodelos apresentados contemplam apenas modelos tipicamente relacionais. Nestes modelos existe efetivamente uma carência de componentes que permitam projetar regras de negócio incluindo a parte dinâmica com o controle interno do objeto, e em particular para SGBDR.

6 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, Comparação dos metamodelos Metamodelo BROM RIM (ER) 2 Modelo de Componentes ativos Componente dados Evento Condição Ação Processo Entidade Simples e Compostos Condição Ação Especificado por Relacionamento Regra de Negócio Entidade Eventos de Negócios Restrições de Função de Especificado por Relacionamento Associados a Funções integridade Negócios Função de Negócio Entidade Relacionamento de Negócios Evento de Banco de Dados implícitas Condição e Ação são partes do componente Regra Ausente Figura 3 - Comparação do metamodelos BROM RIM (ER) 2 Ferramentas de Modelagem de Regras de Negócio. Abaixo estão ilustradas as ferramentas de modelagem associada aos metamodelos descritos. Modelo (ER) 2 - (Entidade-Relacionamento-Evento-Regra) incorpora ao Modelo Entidade-Relacionamento a especificação de regras e eventos, como objetos de primeira classe, para a modelagem de banco de dados ativos. As regras e os eventos passam a fazer parte do modelo, com a notação gráfica e identificação própria. Em um diagrama (ER) 2, um evento é representado por um círculo e uma regra por um paralelogramo. As conexões entre eventos e regras são intuitivas. (ER) 2 - Entidade ou Relacionamento Afetado por Evento Regra Dispara Causa Evento Entidade ou Relacionamento Evento Regra Dispara Figura 4 - Esquema do metamodelo (ER) 2

7 76 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, 2003 Modelo Evento-Condição-Ação-se-Ação-senão (ECA 2 ): Redes de Petri são modelos formais para especificar o fluxo de controle em um sistema. A rede ECA 2, resultante da aplicação desses símbolos, é também uma Rede de Petri de alto nível que pretende representar exatamente o comportamento de um sistema e pode ser empregado como base para a simulação dos processos. Triggering Evento (s) Condição Se Ação Senão Ação Origina Evento(s) Figura 5 - Esquema do metamodelo (ECA 2 ) Modelo de Processamento Conceitual - CPM: A metodologia Merise: An Information System Design and Development Methodology, in: Information & Management emprega o Modelo de Processamento Conceitual (CPM Conceptual Processing Model) para a especificação de processos. Este modelo abrange eventos de ativação, operações (sincronizadas), e eventos resultantes. Uma operação consiste em uma ou mais tarefas que estão baseadas no gerenciamento de regras e são executadas seqüencialmente. Em CPM, um evento é visto como um portador de propriedades, que correspondem aos atributos no modelo de dados do Merise. Evento Evento Operação... Operação m Resultado 1 Resultado n Evento Evento Evento Figura 6 - Esquema do metamodelo CPM O Paradigma Evento-Condição-Ação-se-Ação-senão

8 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, O Modelo Evento-Condição-Ação-se-Ação-senão (ECA 2 ) é tido como paradigma de modelo de criação de regras de negócios normalmente utilizados por SGBDS. Os SGBS que utilizam este modelo de regras de negócios são conhecidos como ativos ( reativos ), pois possuem a capacidade de detectar a ocorrência de eventos, e executar funções independentes de solicitação explícita. Onde : Evento: situação específica que ocorre na base de dados. Condição: regra de negócio forçada. Ação: procedimento que implementa uma lógica de processamento. Normalmente nos SGBDS comerciais este modelo de formalização de regras de negócios é representado na forma de triggers, que é um tipo de stored procedure (procedimento armazenado no banco de dados), que é disparado em uma base controlada a evento. Triggers de banco de dados Definição Triggers são blocos PL/SQL nomeados com seções declarativas, executável e de tratamento de exceções. Os triggers devem ser armazenados na base de dados como objetos independentes e não podem ser locais a um bloco ou pacote. Ao contrário de procedures (subprogramas que executam uma ou mais transações sobre dados, e podem ser armazenados locais, em bibliotecas-conjuntos de subprogramas ou no banco de dados) e funções (subprogramas retornam uma única informação, e podem ser armazenados locais, em bibliotecas-conjuntos de subprogramas ou no banco de dados), que são executadas explicitamente a partir de um outro bloco via uma chamada de procedure que também passa um argumento, os triggers são executados implicitamente sempre que o acontecimento/ evento desencadeador de trigerring suceder e não aceita argumentos. O ato de executar um trigger é conhecido como disparar o trigger. O evento desencadeador pode ser uma operação DML (INSERT, UPDATE, ou DELETE) em uma tabela de base de dados ou certos tipos de visões. O banco de Dados Oracle 9i estendeu essa funcionalidade permitindo que os triggers sejam acionados por um evento de sistema como inicialização ou desativação de banco de dados ou certos tipos de operações DDL. [14] Os triggers podem ser utilizados para muitas operações, incluindo: Manter restrições complexas de integridade que não são possíveis por meio de restrições declarativas ativas na criação da tabela (integridade de domínio, integridade de atributos e integridade referencial). Fazer a auditoria das informações de uma tabela, registrando as alterações efetuadas e quem as efetuou. Sinalizar automaticamente a outros programas que é necessário efetuar uma ação, quando são efetuadas alterações numa tabela. Publicar informações sobre vários eventos em um ambiente de publicação-assinatura. Segurança sobre a base de dados, e ação de usuários, verificando quando uma operação é realizada sobre uma entidade, o trigger é disparado para verificar as permissões do usuário.

9 78 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, 2003 Sintaxe geral para criar um trigger Independente do tipo, todos os triggers são criados utilizando a mesma sintaxe. CREATE [ OR REPLACE ] TRIGGER nome_do_trigger { BEFORE AFTER INSTEAD-OF } evento desencadeador [cláusula referência] [WHEN condição_de_trigger] [ FOR EACH ROW ] corpo_trigger, nome_do_trigger é o nome do trigger. Os nome dos triggers são identificadores de base de dados e, como tal, seguem as mesmas regras que outros identificadores. Embora possível, não é recomendável dar ao trigger o mesmo nome de uma tabela. evento desencadeador especifíca evento que aciona o trigger ( possivelmente incluindo uma tabela ou visão específica) corpo_do_trigger - é o código principal do trigger cláusula referência - é utilizada para referir-se aos dados na linha que atualmente está sendo modificada por um nome diferente. Condição_de_trigger - é a cláusula WHEN opcional (se existir é avaliada em primeiro lugar). O corpo do trigger só é executado quando esta condição resulta TRUE. Tipos de triggers Há três tipos principais de triggers: DML, insted-of e triggers de sistema (DDL). Triggers DML Um trigger de DML é acionado por uma instrução de DML e o tipo de instrução determina o tipo do trigger de DML. Os triggers de DML podem ser definidos em operações INSERT, UPDATE, ou DELETE. Eles podem ser acionados antes ou depois da operação, e também podem acionar operações de linha em instruções. Um trigger DML é acionado em uma operação INSERT, UPDATE ou DELETE de uma tabela de dados. Ele pode ser acionado antes ou depois que a instrução é executada e pode ser acionado uma vez por linha problemática ou uma vez por instrução. A combinação desses fatores determina o tipo de trigger. Há um total de 12 possíveis tipos: 3 instruções X 2 sincronizações X 2 níveis. Por exemplo, todos os seguintes são tipos válidos de trigger de DML: Antes do nível da instrução UPDATE Depois do nível da linha INSERT Antes do nível da linha DELETE

10 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, A tabela a seguir resume as várias opções. Um trigger também pode ser acionado para mais de um tipo de instrução DML em dada tabela por exemplo, INSERT e UPDATE. Qualquer código no trigger será executado junto com a própria instrução desencadeadora como parte da mesma transação Categoria Valores Comentários Instrução INSERT, DELETE Ou UPDATE Define que tipo de instrução de DML faz com que o trigger seja acionado. Sincronização BEFORE ou AFTER Define se o trigger é acionado antes ou depois que a instrução executada. Nível Linha de Instrução Se o trigger for um trigger de nível de linha, ele é acionado uma vez para cada linha afetada pela instrução desencadeadora. Se o trigger for um trigger de nível de instrução ele é acionado uma vez tanto antes como depois da instrução. Um trigger de nível de linha é identificado pela cláusula FOR EACH ROW na definição do trigger. Figura 7 - Instruções desencadeadoras e ação dos triggers Ordem de disparo de um trigger de DML Os triggers são acionados à medida que a instrução de DML é executada. O algoritmo para executar uma instrução de DML é: 1.Execute os triggers antes do nível de instrução, se presente. 2.Para cada linha afetada pela instrução: 2.1 Execute os triggers antes do nível de linha, se presente 2.2 Execute a própria instrução. 2.3 Execute os triggers depois do nível de linha, se presente. 3. Execute os triggers depois do nível de linha, se presente. Identificador de correlação em triggers de nível e de linha Instrução desencadeadora INSERT UPDATE DELETE Old New Indefinido, todos os campos são Valores que serão inseridos quando a instrução NULL for concluída. Valores originais da linha antes da Novos valores que serão atualizados quando a atualização instrução for concluída. Valores originais antes de a linha Indefinido todos os campos são NULL ser excluída Figura 8 - Valores das linhas afetadas antes e depois da ação do trigger Triggers insted-of Os triggers insted-of podem ser definidos apenas em visões (tanto de objeto como relacional). Diferente de um trigger de DML, o qual é executado além da operação de DML, o

11 80 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, 2003 trigger insted-of será executado em vez da instrução de DML que o acionou. Triggers insted-of devem ser de linha. Diferente dos triggers de DML, os quais são acionados além de uma operação de INSERT, UPDATE ou de DELETE ( tanto antes como depois deles), os triggers insted-of são acionados em uma operação DML. Além disso, os triggers insted-of podem ser definidos apenas em visões, ao passo que os triggers de DML são definidos em tabelas. Os triggers insted-of são utilizados em dois casos: Para permitir que uma visão, que caso contrário não poderia ser modificada, seja modificada. Para modificar as colunas de uma tabela aninhada em uma visão. Triggers de sistema Um trigger de sistema é acionado quando um evento de sistema como uma inicialização ou desativação de banco de dados ocorrer, em vez de em uma operação DML em uma tabela. Um trigger de sistema também pode ser acionado em operações de DDL como a criação de uma tabela. Triggers são objetos de banco de dados e como tais estão registrados no Dicionário de dados. A visão user_triggers contém todas as informações sobre os triggers do banco em uso. Quando um trigger é criado, seu código-fonte é armazenado na visão user triggers. Esta visão inclui o corpo do trigger, a cláusula WHEN, a tabela desencadeadora e o tipo de trigger. A seguir a estrutura da visão user_triggers user_triggers; Column Name Null? Type TRIGGER_NAME VARCHAR2(30) TRIGGER_TYPE VARCHAR2(16) TRIGGERING_EVENT VARCHAR2(216) TABLE_OWNER VARCHAR2(30) BASE_OBJECT_TYPE VARCHAR2(16) TABLE_NAME VARCHAR2(30) COLUMN_NAME VARCHAR2(4000) REFERENCING_NAMES VARCHAR2(128) WHEN_CLAUSE VARCHAR2(4000) STATUS VARCHAR2(8) DESCRIPTION VARCHAR2(4000) ACTION_TYPE VARCHAR2(11) TRIGGER_BODY LONG Os triggers devem ser compilados pelo banco para serem objetos válidos e devem ser habilitados ENABLED, para serem ativados. Triggers podem ser desabilitados DISABLED temporariamente sem excluí-los do banco de dados, e reativados posteriormente. Não há limite para o número de triggers para cada tabela ou visão de dados, a ordem de disparo será dada pelo evento desencadeador. No Oracle 9i não há como em outros bancos de dados a numeração seqüencial identificadora da ordem de execução de cada trigger.

12 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, O DBA (já definido anteriormente) fará uso de triggers de Banco de Dados sempre que este recurso representar qualquer ganho ao sistema. Descartando e desativando triggers Semelhantes a outros objetos de banco de dados os triggers podem ser descartados. O comando para fazer isto tem a sintaxe: DROP TRIGGER nome_do_trigger Onde nome_do_trigger é o nome do trigger a ser descartado. Isso remove permanentemente o trigger do dicionário de dados. Triggers também podem ser desativados sem ser descartado. Para desativar ou ativar um trigger usa-se a instrução: ALTER TRIGGER nome_do_trigger {DISABLE ENABLE}; Onde nome_do_trigger é o nome do trigger a ser ativado/desativado. Todos os triggers por padrão são criados ativados. Desativar um trigger não o remove do dicionário de dados. Triggers como qualquer subprograma armazenado dever ter seu código compilado. A execução de um trigger não compilado desencadeará a compilação do mesmo, que só será executado se o mesmo não apresentar erro em tempo de compilação. Conclusão Os triggers são uma adição valiosa aos Bancos de Dados. Eles podem ser utilizados para impor restrições de dados que são muito mais complexas do que restrições referenciais normais de integridade. Com a evolução dos triggers e a capacidade de estender a ação destes para além de eventos de operações DML em uma tabela ou visão possibilitou ainda mais a aplicação de regras de integridade aos Bancos de Dados, além de vantagens como: Reduzir o tráfico de rede. Criar um conjunto comum de regras de negócios no banco de dados que se aplicará a todas as aplicações cliente, independente da ação do usuário, seja este programador ou usuário do aplicativo. Garantido: controle de integridade: - integridade de domínio. - integridade de atributos. - integridade referencial. segurança: - situações importantes de segurança sobre a base de dados. Quando uma operação é realizada sobre uma entidade, o trigger é disparado para verificar as permissões do usuário. auditoria: - incluir registros em tabelas de auditoria - registrar todas as informações sobre tabelas importantes do sistema. Fornecer rotinas comuns que estarão disponíveis para todas as aplicações cliente reduzindo assim o tempo de desenvolvimento e manutenção, bem como a garantia da aplicação correta destas rotinas e a confiabilidade dos resultados fornecidos pelas mesmas.

13 82 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, 2003 Centralizar o processamento no servidor e reduzir os requisitos de hardware nas ações cliente. Aumentar a performance das aplicações. Como exemplo prático aplicado ao módulo de controle de estoque, citamos o exemplo de um trigger de banco de dados, disparado sobre a tabela de cadastro de materiais, sempre que um usuário fizer uma tentativa de modificar a unidade de medida de um item. O evento alterar, a coluna unidade de medida acionará o trigger, impedindo que tal mudança seja concluída. Não existe regra de integridade referencial que possa impedir tal ação, também não há como confiar no usuário programador que o mesmo garanta este controle em nível de aplicativo. Agora imaginemos uma situação em que não haveria este controle seguro e um produto que usualmente se estocava e controla por mililitro (ml) seja alterado inadvertidamente por litro (l). Tais erros podem ocorrer em Bancos de Dados, cuja segurança de informações não é corretamente administrada e como erro, neste caso, teríamos para este produto a informação da quantidade de estoque mil vezes maior. A evolução dos bancos de dados tende a assegurar sempre mais a integridade dos mesmos, bem como, permitir que a evolução ou mudança no aplicativo não comprometa o projeto inicial, com isso cada vez mais os projetistas e DBAs utilizam triggers de Banco de Dados para garantir a aplicabilidade das regras de negócios. O correto uso e o melhor proveito da tecnologia, no entanto, sempre ficará a cargo do conhecimento e aplicação correta desta tecnologia pelo ser humano. Referências Bibliográficas: [1] DATE, C. J. Introdução a Sistemas de Bancos de Dados. Rio de Janeiro: Campus, [2] BANCO DE DADOS I Texto para Disciplina Código: INE Internet Maio [3] SILBERSCHATZ, Abranham; KORTH, Henry F. Sistema de Banco de Dados. São Paulo: MAKRON Books [4] SILBERSCHATZ, Abranham; KORTH, Henry F. e SUDARSHAN, S. Sistema de Banco de Dados. São Paulo: MAKRON Books, [5] AMORIM, M. J. Ambiente de Desenvolvimento de Aplicações de Banco de Dados Ativos, Tese de Mestrado, IME, Rio de Janeiro, [6] COSTA, A. Engenharia Reversa de Regras Ativas em Banco de Dados Relacionais, Tese de Mestrado, IME, Rio de Janeiro, [7] APPLETON, D.S. Business Reengineering with Business Rules, in: V. Grover, W.J. Kettinger(Eds.), Business Process Change Reengineering Concepts, Methods and Tecnologies, Londres, Harrisburg, [8] MAYER & Bunge Informática S/C Ltda. Otimizando Banco de Dados Relacionais, Internet, [9] HERBEST, H. Business Rule-Oriented Conceptual Modeling, Physica-Verlag: A Springer-Verlag Company, Switzerland, [10] BELL, J. Et al. Re-Engineering Case Study Analysis of Business Rules and Recomendations for Treatment of Rules in a Relational Database Environment, Bellevue Golden: US West Information Technologies Group, 1990.

14 Rev. Cient. Fac. Lourenço Filho - v.3, n.1, [11] BOOCH, G.; RUMBAUGHR, J.; JACOBSON, I. The Unified Modeling Language for Object-Oriented Development, Documentation Set Version, [12] LOUCOPOULOS, P. Conceptual Modeling, in: P. Loucopoulos, Conceptual Modeling, Databases, and CASE - New York et. al.: John Wiley & Sons, [13] LONEY, K.; THERIAULT, M. Oracele 9i O Manual do DBA. Rio de Janeiro: Campus, [14] URMAN, S. Oracle 9i Programação PL/SQL. Rio de Janeiro: Campus, 2002.

SQL Gatilhos (Triggers)

SQL Gatilhos (Triggers) SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

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

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

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

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

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

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

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

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

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

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade.

Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade. www.devm edia.com.br [versão para im pressão] MySQL TRIGGERS Neste artigo, serão apresentados os principais conceitos sobre os TRIGGERS e sua aplicabilidade. MySQL TRIGGERS Neste artigo, serão apresentados

Leia mais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

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

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

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

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

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

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

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

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada. Conceitos básicos Angélica Toffano Seidel Calazans E-mail: angelica_toffano@yahoo.com.br Conceitos introdutórios de Modelagem de dados Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

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

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

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

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

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

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

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

Leia mais

Disciplina de Banco de Dados Parte V

Disciplina de Banco de Dados Parte V Disciplina de Banco de Dados Parte V Prof. Elisa Maria Pivetta CAFW - UFSM Modelo de Dado Relacional O Modelo Relacional O Modelo ER é independente do SGDB portanto, deve ser o primeiro modelo gerado após

Leia mais

MUDANÇAS NA ISO 9001: A VERSÃO 2015

MUDANÇAS NA ISO 9001: A VERSÃO 2015 MUDANÇAS NA ISO 9001: A VERSÃO 2015 Está em andamento o processo de revisão da Norma ISO 9001: 2015, que ao ser concluído resultará na mudança mais significativa já efetuada. A chamada família ISO 9000

Leia mais

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação

Leia mais

GBD PROF. ANDREZA S. AREÃO

GBD PROF. ANDREZA S. AREÃO GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação

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

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Modelagem de Banco de Dados através do ERwin

Modelagem de Banco de Dados através do ERwin Modelagem de Banco de Dados através do ERwin Introdução O Erwin é uma ferramenta CASE para a modelagem de banco de dados através do modelo ER (Entidade-Relacionamento). Possibilita uma maior concentração

Leia mais

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas

Banco de Dados II. Triggers e Functions. Prof. Moser Fagundes. Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Banco de Dados II Triggers e Functions Prof. Moser Fagundes Curso TSI Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Sumário da aula Functions (funções) Triggers (gatilhos) Atividades Functions

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados

Curso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Modelo para organização dos dados de um BD. define um conjunto de conceitos para

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

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

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

Lista de exercícios 01

Lista de exercícios 01 PARTE I Lista de exercícios 01 1. Defina os seguintes termos: entidade, atributo, valor do atributo, atributo composto, atributo multivalorado, atributo derivado, atributo-chave, domínio. 2. Explique as

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

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

Modelo para Documento de. Especificação de Requisitos de Software

Modelo para Documento de. Especificação de Requisitos de Software Modelo para Documento de Especificação de Requisitos de Software Prof. Dr. Juliano Lopes de Oliveira (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications)

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

Especificação de Requisitos

Especificação de Requisitos Projeto/Versão: Versão 11.80 Melhoria Requisito/Módulo: 000552 / Conector Sub-Requisito/Função: Multas Tarefa/Chamado: 01.08.01 País: Brasil Data Especificação: 13/05/13 Rotinas Envolvidas Rotina Tipo

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

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com BANCO DE DADOS WEB AULA 4 linguagem SQL: subconjuntos DCL, DDL e DML professor Luciano Roberto Rocha www.lrocha.com O que é SQL? Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL,

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

MODELO RELACIONAL - UFMA

MODELO RELACIONAL - UFMA MODELO RELACIONAL Universidade Federal do Maranhão - UFMA Departamento de Informática Projeto de Banco de Dados Profª.MSc Simara Rocha simararocha@gmail.com/simara@deinf.ufma.br www.deinf.ufma.br/~simara

Leia mais

Bancos de Dados I. Integridade semântica

Bancos de Dados I. Integridade semântica Bancos de Dados I PUC-Rio Departamento de Informática (DI) Eng./Ciência da Computação e Sist. Informação Contrôle de Integridade em SGBDs: procedimentos armazenados, gatilhos e funções Prof. sergio@inf.puc-rio.br

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

Banco de Dados. Maurício Edgar Stivanello

Banco de Dados. Maurício Edgar Stivanello Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSOR RESPONSÁVEL : Josino Rodrigues Neto UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO Rua Dom Manoel de Medeiros, s/n Dois Irmãos 52171-900 Recife-PE Fone: 0xx-81-332060-40 proreitor@preg.ufrpe.br PLANO DE ENSINO

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

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

Leia mais