Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações
|
|
- Mônica da Fonseca de Andrade
- 6 Há anos
- Visualizações:
Transcrição
1 Capítulo 5: Integridade e Segurança Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações 1
2 Triggers Um trigger é um comando que é executado automaticamente pelo sistema, como side-effect duma modificação à base de dados dum determinado tipo pré-definido. Para definir um trigger, há que: Especificar que evento faz disparar trigger Especificar em que condições o trigger deve ser. Especificar que acção fazer quando o trigger é executado. São conhecidos como event-condition-action rules Os triggers são armazenados na base de dados, e executados para todos as interacções com esta. O Oracle suporta triggers, embora com uma sintaxe ligeiramente diferente da do SQL. 2
3 Exemplo de Trigger Imagine uma situação em que o banco aceita que haja saldos negativos e, nesses casos: coloca o saldo a 0 cria um empréstimo com o valor em dívida Atribui a este empréstimo um número idêntico ao da conta de depósito O trigger deve ser executado sempre que há uma actualização na relação account que faz com que o saldo passe a negativo. 3
4 Codificação do Exemplo em SQL:1999 create trigger overdraft_trigger after update on account referencing new row as nrow for each row when nrow.balance < 0 begin atomic insert into borrower (select customer_name, account_number from depositor where nrow.account_number = depositor.account_number); insert into loan values (nrow.account_number, nrow.branch_name, nrow.balance); update account set balance = 0 where account.account_number = nrow.account_number end 4
5 Eventos e Acções de Triggers em SQL Os eventos que podem fazer disparar um trigger são insert, delete ou update No Oracle, também podem disparar triggers eventos de servererror, logon, logoff, startup e shutdown. Triggers sobre update podem-se restringuir só a alguns atributos E.g. create trigger overdraft_trigger after update of balance on account Pode-se referenciar o valor dos atributos antes e depois da modificação referencing old row as : para deletes e updates referencing new row as : para inserts e updates Pode-se fazer disparar um trigger antes do evento, para codificar restrições. E.g. converter espaços em null. create trigger setnull_trigger before update on r referencing new row as nrow for each row when nrow.phone_number = set nrow.phone_number = null Para além do before e do after no Oracle existe também o instead of. 5
6 Acções Externas Por vezes podemos querer que um dado evento faça disparar uma acção para o exterior. Por exemplo, numa base de dados de uma armazém, sempre que a quantidade de um produto desce abaixo (devido a um update) de um determinado valor podemos querer encomendar esse produto, ou disparar algum alarme. Os triggers não podem ser usados para implementar acções sobre o exterior, mas... podem ser usados para guardar numa tabela separada acções-a-levar-a-cabo. Podem depois haver procedimentos que, periodicamente verificam essa tabela separada. E.g. Uma base de um armazém com as tabelas inventario(item, quant): Que quantidade há de cada produto quantmin(item, quant) : Qual a quantidade mínima de cada produto reposicoes(item, quant): Quanto encomendar sempre que está em falta aencomendar(item, quant) : Coisas a encomendar (lido por procedimento) 6
7 Exemplo de Acções Externas create trigger aenc_trigger after update of quant on inventario referencing old row as orow, new row as nrow for each row when nrow.quant < = some (select quant from quantmin where quantmin.item = orow.item) and orow.quant > some (select quant from quantmin where quantmin.item = orow.item) begin insert into aencomendar (select item, quant from reposicoes where reposicoes.item = orow.item) end 7
8 Sintaxe de Triggers em Oracle create [or replace] trigger <nome_trigger> {before after instead of} <evento> [referencing old as <nome_antes>] [referencing new as <nome_depois>] for each row when <condição> begin <Sequencia de comandos, terminados por ;> end; / Evento pode ser: delete on <tabela ou view> insert on <tabela ou view> update on <tabela ou view> update of <atributos separados por,> on <tabela ou view> servererror, logon, logoff, startup ou shutdown Os comandos são PL/SQL o que inclui os comandos SQL, mais WHILEs, IFs, etc (ver manuais) Dentro da condição os nome_antes e nome_depois podem ser usados sem mais. Mas nos comandos têm que ter o símbolo : antes!!! 8
9 Statement Triggers São executados após (antes, ou em vez de) uma instrução completa vs. os anteriores que são executadas após alterações em cada linha Sintaxe: create [or replace] trigger <nome_trigger> {before after instead of} <evento> begin <Sequencia de comandos, terminados por ;> end; Para ser usado quando as condições são para testar globalmente e não linha a linha. 9
10 Uso de triggers Podem usar-se para implementar assertions, fazendo raise_application_error quando as condições não se verificam. Não usar triggers: Quando as restrições podem ser impostas doutra forma!! Os triggers são mais difíceis de manter e são menos eficientes. Quando se querem manter sumários Para tal usem-se views e se eficiência for importante usem-se materialized views Os triggers permitem uma grande generalidade na imposição de restrições e, também por isso mesmo, devem ser usados com grande cuidado. 10
11 Exemplo create table alunos( num_aluno number(6) not null,, cod_curso number(3) not null, primary key (num_aluno), unique (num_aluno, cod_curso) foreign key cod_curso references curso); create table curso_cadeira( cod_curso number(3) not null, cod_cadeira number(3) not null,, primary key (cod_curso, cod_cadeira), ); create table inscricoes( num_aluno number(6) not null, cod_curso number(3) not null, cod_cadeira number(5) not null, data_inscricao date not null,, primary key (num_aluno, cod_curso, cod_cadeira, data_inscricao), foreign key (num_aluno, cod_curso) references alunos(num_aluno, cod_curso), foreign key (cod_curso, cod_cadeira) references curso_cadeira); 11
12 Triggers para actualização de vistas Podemos utilizar triggers para efectuar modificações através de vistas. Para tal, criamos triggers para todas as operações permitidas, como por exemplo: para a insercão (do tipo instead of insert on), para a remoção (do tipo instead of delete on) para a actualização (do tipo instead of update on). Consideremos a vista: create view info_empréstimos as select loan_number, customer_name, amount from borrower natural inner join loan 12
13 Triggers para actualização de vistas Se quisermos permitir a remoção de empréstimos através da vista, criamos o trigger: create trigger remove_empréstimos instead of delete on info_empréstimos referencing old row as orow for each row begin delete from loan where loan_number = orow. loan_number ; delete from borrower where loan_number = orow. loan_number ; end 13
14 Triggers para actualização de vistas Se quisermos permitir a inserção de empréstimos através da vista, criamos o trigger: create trigger insere_empréstimos instead of insert on info_empréstimos referencing new row as nrow for each row begin insert into loan values (nrow.loan_number, NULL, amount); insert into borrower values (nrow.customer_name, nrow.loan_number) end 14
15 Triggers para actualização de vistas Se quisermos permitir a actualização do valor do empréstimo através da vista, criamos o trigger: create trigger actualiza_empréstimos instead of update of amount on info_empréstimos referencing new row as nrow referencing old row as orow for each row begin end update loan set amount = nrow. amount where loan_number = orow. loan_number ; 15
16 Triggers para inserção de chaves Se quisermos preencher automaticamente a chave de um tuplo, aquando da sua inserção, recorrendo a uma sequência: create trigger chave_aluno before insert on alunos for each row declare aluno_id number; begin end select seq_aluno.nextval into aluno_id from dual; :new.num_aluno := aluno_id; 16
17 Segurança Segurança ao contrário das restrições de integridade, que pretendiam proteger a base de dados contra estragos acidentais, a segurança preocupa-se com proteger a base de dados de estragos propositados. A nível do sistema operativo A nível da rede A nível físico A nível humano A nível da base de dados Mecanismos de autenticação e autorização para permitir acessos selectivos de (certos) utilizadores a (certas) partes dos dados 17
18 Autorizações Diferentes formas de autorização em dados da bases de dados: Autorização de leitura permite ler, mas não modificar dados. Autorização de inserção permite inserir novos tuplos, mas não modificar tuplos existentes. Autorização de modificação permite modificar tuplos, mas não apagá-los. Autorização de remoção permite apagar tuplos 18
19 Autorizações (Cont.) Diferentes formas de autorização, para alterar esquemas: Autorização de index permite criar e apagar ficheiros de index. Autorização de resources permite criar novas relações. Autorização de alteração permite criar e apagar atributos duma relação. Autorização de drop permite apagar relações. 19
20 Autorizações e Vistas Pode-se dar autorização a utilizadores sobre uma vista, sem se lhe dar autorização sobre as tabelas que a definem Isto permite não só melhorar a segurança dos dados, como também tornar mais simples o seu uso Uma combinação de segurança a nível de tabelas, com segurança a nível de vistas, pode ser usada para limitar o acesso de um utilizador apenas aos dados de que ele necessita. 20
21 Autorizações e Vistas A criação de uma vista não requer autorização resources pois, de facto, nenhuma nova tabela é criada Quem cria uma vista, fica exactamente com os mesmo privilégios sobre esta que tinha sobre as tabelas. E.g. o criador duma vista cust_loan sobre as tabelas borrower e loan, que só tenha autorização de leitura sobre estas tabelas, só fica com autorização de leitura sobre a vista que criou 21
22 Atribuição de Privilégios A passagem de privilégios de um utilizador para outro pode ser representada por um grafo de autorizações. Os nós do grafo são utilizadores. A raiz é o administrador da base de dados. Considere o grafo abaixo, para e.g. escrita numa relação. Um arco U i U j indica que o utilizador U i atribuiu ao utilizador U j privilégio de escrita sobre essa relação.. U 1 U 4 DBA U 2 U 5 U 3 22
23 Grafo de atribuição de privilégios Requisito: Todos os arcos têm que fazer parte de algum caminho com origem no administrador. Se o administrados retira o privilégio a U 1 : U 1 U 4 Deve ser retirado privilégio a U 4 (pois U 1 já não tem autorização) Não deve ser retirado a U 5 (pois U 5 tem autorização vinda de U 2 ) Devem ser prevenidos ciclos: DBA U 7 U 2 U 5 U 3 Administrador dá privilégios a U 7 U7 dá privilégios a U 8 DBA U8 dá privilégios a U 7 U 8 DBA retira privilégios de U 7 Deve retirar autorização de U 7 para U 8 e de U 8 para U 7 (pois já não há caminho do administrador nem para U 7 nem para U 8 ). 23
24 Especificações de Segurança em SQL O comando grant é usado para atribuir privilégios grant <lista de privilégios> on <nome de relação ou view> to <lista de utilizadores> <lista de utilizadores> é: Um user-id public, o que atribui o privilégios a todos os utilizadores Um perfil (role) veremos à frente A atribuição de privilégios sobre uma vista não se propaga às relações nela usadas. Quem atribui o privilégio tem que o ter (ou ser o administrador da base de dados). 24
25 Privilégios em SQL select: permite acesso de leitura sobre a relação ou vista Exemplo: dar a U 1, U 2, e U 3 autorização de leitura na relação branch: insert: permite inserir tuplos grant select on branch to U 1, U 2, U 3 update: permite usar o comando update do SQL delete: permite apagar tuplos. references: permite a declaração de chaves externas. all privileges: forma sumária de atribuir todos os privilégios. 25
26 Privilégio de atribuir privilégios with grant option: autoriza um utilizador a passar um privilégio a outros utilizadores. Exemplo: grant select on branch to U 1 with grant option dá a U 1 o privilégio select sobre a relação branch e autoriza U 1 a passar esse privilégio a qualquer outro utilizador 26
27 Perfis Um perfil permite atribuir, de apenas uma vez, privilégios iguais para uma classe de utilizadores Podem ser atribuídos e retirados privilégios a perfis de utilizadores, da mesma forma que a utilizadores isolados. Podem-se associar perfis a utilizadores, ou mesmo a outros perfis Exemplo: create role caixa create role gerente grant select on branch to caixa grant update (balance) on account to caixa grant all privileges on account to gerente grant caixa to gerente grant caixa to maria, scott grant gerente to ana 27
28 Retirar de privilégios em SQL O comando revoke serve para retirar privilégios. revoke <privilégios> on <relação ou view> from <utilizadores> [restrict cascade] Exemplo: revoke select on branch from U 1, U 2, U 3 cascade Se se colocar cascade, retirar privilégios de um utilizador também os pode retirar a outros, conforme descrito pelo grafo. Se se usar restrict só é retirado privilégio a esse utilizador revoke select on branch from U 1 restrict Com restrict, o comando revoke falha (dá erro) se esse utilizador já passou o privilégio a outros. 28
29 Retirar de privilégios em SQL (Cont.) <privilégios> pode ser all. Nesse caso são retirados todos os privilégios que foram atribuídos pelo utilizador que deu o comando. Se <utilizadores> incluir public todos os utilizadores perdem esse privilégio, a não ser que lhe tenha sido atribuído explicitamente. Se o mesmo privilégio for atribuído duas vezes por utilizadores diferentes, então quem o tem pode ficar com ele mesmo depois dum revoke (cf. grafo). Todos os privilégios que dependem do privilégio retirado, são também retirados. 29
30 Limitação a autorizações em SQL SQL não permite autorizações a nível de tuplo E.g. não se pode restringir de forma a que um aluno só possa ver as suas notas. Neste caso, a tarefa de autorização cai sobre as aplicações (o que é indesejável, mas o SQL aqui não ajuda). Ou então definir vistas e dar autorizações apenas a essas vistas 30
BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
Leia maisIntrodução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Stored procedures e triggers Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção
Leia maisBases de Dados. Restrições de integridade. Restrições de integridade. As restrições de integridade garantem a consistência da BD exemplos
Bases de Dados Restrições de integridade Restrições de integridade As restrições de integridade garantem a consistência da BD exemplos RI 1: o saldo de uma conta não pode ser null RI 2: nenhuma conta pode
Leia maisTriggers 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 maisBanco de Dados Avançados Banco de Dados Ativo
Universidade Federal de Pernambuco Centro de Informática Banco de Dados Avançados Banco de Dados Ativo Equipe: Felipe Cavalcante Fernando Kakimoto Marcos Corrêa Sumário 1. Mini-Mundo... 3 1.1 Entidades...
Leia maisBases 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 maisSQL 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 maisOracle 10g: SQL e PL/SQL
Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação
Leia maisTriggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente
Leia maisTriggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia maisSQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix
Leia maisComandos 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 maisBases de Dados 2012/2013 Funções/procedimentos e triggers. Helena Galhardas 2012 IST. Bibliografia. Manual referência PostgreSQL
Bases de Dados 2012/2013 Funções/procedimentos e triggers em PostgreSQL Helena Galhardas Bibliografia Manual referência PostgreSQL http://www.postgresql.org/docs/9.2/static/ plpgsql.html http://www.postgresql.org/docs/9.2/static/
Leia maisPage 1. Prof. Constantino Jacob
Tópicos Introdução à SQL Definição Tipos de Operações Instrução SELECT Sintaxe básica Operações relacionais de restrição, projeção e junção Instruções DML Delete, Update e Insert Instruções DDL Create
Leia maisBanco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011
Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de
Leia maisPostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br
PostgreSQL www.postgresql.org André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br Características Licença BSD (aberto, permite uso comercial) Multi-plataforma (Unix, GNU/Linux,
Leia maisestiver abaixo ou igual ao mínimo, um novo pedido é acrescentado a uma relação pedidos.
TRIGGERS Um trigger é uma instrução que o sistema executa automaticamente como um efeito colateral de uma modificação no banco de dados. Para criar um mecanismo de trigger, temos de cumprir dois requisitos:
Leia maisCadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web (Parte 2) TI2009/10 EWD_1
Cadeira de Tecnologias de Informação Ano lectivo 2009/2010 Sites dinâmicos Com Expression Web (Parte 2) TI2009/10 EWD_1 Como fazer um Insert (1) Antes de aprendermos a fazer um Insert vamos alterar a página
Leia maisBANCO 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 maisDO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano
DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS Fábio Roberto Octaviano Controlando Acesso dos Usuários Após o término do Capítulo: Diferenciar privilégios de sistema e privilégios de objetos.
Leia maisTópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza
Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados Prof. Hugo Souza Após vermos uma breve contextualização sobre esquemas para bases dados e aprendermos
Leia maisOracle Database 10g: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer
Leia maisSQL (Structured Query Language)
(Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...
Leia maisTarefa 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 maisLinguagem SQL. Comandos Básicos
Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br Comando
Leia maisConsidere as Relações Funcionários (F) e Dependentes (D), com o seguinte esquema simplificado:
Álgebra Relacional Considere as Relações Funcionários (F) e Dependentes (D), com o seguinte esquema simplificado: Funcionários (numf, nomef) Dependentes (numf, nomed, par) Numf referencia Funcionários
Leia maisBanco 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 maisBancos 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 maisSistemas de Informação
Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK
Leia maisSQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language
Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados SQL Linguagem de Definição de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre
Leia maisSQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL
Leia maisSQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS)
SQL92 DDL( RIS, ACTUALIZAÇÕES E VISTAS) DML (QUERIES, SUBQUERIES,JUNÇÕES, E OPERAÇÕES SOBRE CONJUNTOS) SQL SQL, é uma linguagem de programação que foi desenvolvida para questionar bases de dados relacionais
Leia maisSQL: Definição de tabelas, Modificações à Base de Dados
SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de
Leia maisProva de Fundamentos de Bancos de Dados 2 a Prova
Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Novembro de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi
Leia maisPrincípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003
Bases de Dados Introdução à linguagem SQL História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89,
Leia maisProva de Fundamentos de Bancos de Dados 2 a Prova
Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Maio de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi usada
Leia maisLinguagem de Consulta Estruturada (SQL)
Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1
Leia maisIntegridade 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 maisSQL DDL Criando Tabelas e Restrições
SQL DDL Criando Tabelas e Restrições Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Rocha e Maria Cláudia Cavalcanti Comandos de Definição
Leia maisBackup. José Antônio da Cunha CEFET-RN
José Antônio da Cunha CEFET-RN Introdução Sendo as informações o bem mais valioso da empresa e estando estas informações armazenadas nos bancos de dados da empresa, é de fundamental importância que tenhamos
Leia maisBanco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL
Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas
Leia maisEXEMPLOS DE COMANDOS NO SQL SERVER
EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;
Leia maisSQL. Definição do Esquema da Base de Dados. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática
SQL Definição do Esquema da Base de Dados Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL - Esquema da base de dados Definição das tabelas Definição das chaves primárias Definição
Leia maisFAPLAN - 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 maisLinguagem SQL (Parte II)
Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte II Introdução
Leia maisEsquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos
Modelo Relacional Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas Esquema da Relação Descreve as colunas da tabela Especifica
Leia maisModelo Lógico: Tabelas, Chaves Primárias e Estrangeiras
Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras Apresentar a próxima etapa da modelagem de dados: o modelo lógico e os conceitos de tabelas, chaves primárias e estrangeiras e como o banco de dados
Leia maisBANCO DE DADOS. Vinícius Pádua
BANCO DE DADOS O que é Banco de Dados? Introdução Para que serve um arquivo? Salvar, atualizar, recuperar,... Aplicativos e Arquivos Utilizam para salvar os dados mesmo após o programa fechar Estrutura
Leia maisRelatório. Projecto de Base de Dados Parte 2. Turno: quinta-feira, 11:30 Grupo 25: André Gonçalves 64027 Rui Barradas 68239 Hélton Miranda 68477
Relatório Projecto de Base de Dados Parte 2 Turno: quinta-feira, 11:30 Grupo 25: André Gonçalves 64027 Rui Barradas 68239 Hélton Miranda 68477 1. Criação da base de dados De seguida vem escrito um script
Leia maisDisciplina: Unidade III: Prof.: E-mail: Período:
Encontro 09 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 6. Introdução ao MS Access O Microsoft
Leia maistrigger insert, delete, update
1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,
Leia maisManual de Utilização. Ao acessar o endereço www.fob.net.br chegaremos a seguinte página de entrada: Tela de Abertura do Sistema
Abaixo explicamos a utilização do sistema e qualquer dúvida ou sugestões relacionadas a operação do mesmo nos colocamos a disposição a qualquer horário através do email: informatica@fob.org.br, MSN: informatica@fob.org.br
Leia maisMódulo de Aprendizagem I
Módulo de Aprendizagem I Digitalizar fotografias para a base de dados do SiFEUP Notas: No decorrer deste módulo de aprendizagem, pressupõe-se que o utilizador já tem o scanner devidamente instalado no
Leia maisLINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea
BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com SQL A Structed Query Language foi desenvolvida em 1974 nos laboratório da IBM em San José na Califórnia,
Leia maisSQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:
SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências
Leia maisCriação de uma aplicação Web ASP.NET MVC 4
Criação de uma aplicação Web ASP.NET MVC 4 usando Code First, com Roles (VS2012) Baseado no artigo de Scott Allen Roles in ASP.NET MVC4 : http://odetocode.com/blogs/scott/archive/2012/08/31/seeding membership
Leia maisMonitoria GDI Aula Prática. DML + PL/SQL parte 1
Monitoria GDI Aula Prática DML + PL/SQL parte 1 DML linguagem de manipulação de dados SQL Estrutura básica de uma consulta SQL SELECT Coluna1[,Coluna2[,Coluna3[,...]]] FROM Tabela1[,Tabela2[,...]] WHERE
Leia maisSQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE
Leia maisBD 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 maisStructured 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 maisPontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO.
Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Curso Oracle 10g Prof. MSc. Luciano Blomberg lblomberg@uol.com.br 2011/1
Leia maisBanco de Dados - Senado
Banco de Dados - Senado Structured Query Language (SQL) Material preparado :Prof. Marcio Vitorino Ambiente Simplificado de um SGBD 2 Características dos SGBDs Natureza auto-contida de um sistema de banco
Leia maisCOMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.
PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases
Leia maisAULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL
BANCO DE DADOS GERENCIAL 1 AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS Um banco de dados é uma coleção de dados (ou informações) organizadas de forma lógica, e que
Leia maisPROGRAMAÇÃ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 maisSQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.
SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição
Leia maisStructured Query Language (SQL) Aula Prática
Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas
Leia maisConsistem num conjunto de apontadores para instâncias especificas de cada relação.
Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de
Leia maisDatabase and Applications. Criação, inserção de dados PHP+MySQL
Criação, inserção de dados PHP+MySQL Prof. Doutor Félix Singo phpmyadmin É uma aplicação de fácil utilização que serve para controlar base de dados MySQL. Pode-se utilizar para criar, copiar, apagar, renomear
Leia maisIntrodução ao SQL. Aécio Costa
Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição
Leia maisCentro Universitário Franciscano
Centro Universitário Franciscano Banco de Dados II Prof a.: Walkiria Cordenonzi descrevem condições lógicas que podem ser válidas para um banco de dados ou para uma seqüência de transição de estados do
Leia maisPL/pgSQL. Introdução. Introdução. Introdução
Introdução PL/pgSQL Banco de Dados II Prof. Guilherme Tavares de Assis PL/pgSQL (Procedural Language for the PostgreSQL) é uma linguagem procedural carregável desenvolvida para o SGBD PostgreSQL, que possui
Leia maisFaculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível
Leia maisAplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013
Aplicações - SQL Banco de Dados: Teoria e Prática André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Picture by Steve Kelley 2008 SQL SQL Structured Query Language Originalmente:
Leia maisFaculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL
Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do
Leia maisAprenda a instalar a plataforma de monitorização Cacti
Aprenda a instalar a plataforma de monitorização Cacti Date : 27 de Março de 2014 Um administrador deve possuir as melhores ferramentas de monitorização para que tenha uma visão facilitada de toda a rede.
Leia maisLaboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL
Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco
Leia maisBases de Dados 2007/2008. Aula 9
Bases de Dados 2007/2008 Aula 9 1. T-SQL TRY CATCH 2. TRATAMENTO ERROS RAISERROR 3. TRIGGERS 4. EXERCÍCIOS Sumário Referências http://msdn2.microsoft.com/en-us/library/ms189826.aspx (linguagem t-sql) http://www.di.ubi.pt/~pprata/bd/bd0405-proc.sql
Leia maisBANCO DE DADOS Parte 4
BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,
Leia maisPostgreSQL 8.0. Diogo Biazus
PostgreSQL 8.0 Diogo Biazus PostgreSQL 7.X Totalmente ACID MVCC Tipos e operadores customizáveis Diversas linguagens procedurais Hot backup Código aberto (BSD) Facilidade de extensão PL/pgSQL, PL/Python,
Leia maisConceitos. Considerações Gerais. Autorização. Autorização no SQL Server. Autorização 16/06/2009
Conceitos Banco de Dados II URI-FW Segurança Integridade Segurança refere-se à proteção de dados contra a divulgação, alteração ou destruição não autorizadas. Garante que usuários têm permissão para fazer
Leia maisSQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL
SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar
Leia maisMER e Conceitos gerais
MER e Conceitos gerais IBGE 1)O Modelo de Entidades Relacionamentos, segundo Paulo Cougo, descreve o mundo como:... cheio de coisas que possuem características próprias e que se relacionam entre si. Essas
Leia maisPROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger
PROGRAMAÇÃO EM BANCO DADOS Store 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 maisIntrodução à linguagem SQL
Introdução à linguagem SQL 1 Histórico A linguagem de consulta estruturada (SQL - Structured Query Language) foi desenvolvida pela empresa IBM, no final dos anos 70. O primeiro banco de dados comercial
Leia maisAULA 2 INTERAÇÃO COM O BANCO DE DADOS
AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,
Leia maisRoteiro 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 maisS Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada
Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,
Leia maisS Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação
Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente
Leia maisSQL Structured Query Language
Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa
Leia maisMANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS
MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS Está disponível a partir da versão 2014.73 do XD Rest/Pos/Disco um novo formato no instalador em ambientes Microsoft Windows. O instalador passa a
Leia maisComandos DDL. id_modulo = id_m odulo
Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos
Leia maisBases de Dados. Parte V: A Linguagem SQL
Bases de Dados Parte V A Linguagem SQL 1 SQL Structured Query Language O SQL é uma poderosa linguagem declarativa que permite definir, questionar e manipular bases de dados. Para além das funcionalidades
Leia maisBANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre
BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos
Leia maisSQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com
SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta
Leia maisIF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1
IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685
Leia maisPL/pgSQL por Diversão e Lucro
PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do
Leia mais