Aula 12 Revisão. Prof. Filipe Wall Mutz
|
|
- Lucca Peres Galvão
- 7 Há anos
- Visualizações:
Transcrição
1 Aula 12 Revisão Prof. Filipe Wall Mutz
2 Tópicos Operadores para Consultas Consultas Aninhadas Restrições Views Controle de Acesso Stored Procedures Triggers
3 Operadores Avançados: Consultas com Operadores Aritméticos SQL permite o uso de operadores aritméticos (+, -, *, /) tanto na cláusula WHERE como nos resultados da consulta.
4 Operadores Avançados: BETWEEN O operador BETWEEN pode ser usado para especificar intervalores de valores na cláusula WHERE.
5 Operadores Avançados: LIKE O operador LIKE permite a comparação sobre partes de uma cadeia de caracteres. Cadeias parciais são especificadas usando dois caracteres reservados: %: substitui um número qualquer de zero ou mais caracteres _ : Substitui um único caractere
6 Operadores Avançados: LIKE Exemplo: Recuperar todos os funcionários cujos endereços sejam em São Paulo, SP. SELECT Pnome, Unome FROM funcionario WHERE endereco LIKE %SaoPaulo,SP% ;
7 Operadores Avançados: Concatenação O operador pode ser usado para concatenar cadeias de caracteres SELECT Pnome Unome FROM funcionario WHERE data_nasc LIKE / / 5_ ;
8 Operações de Conjuntos em SQL SQL normalmente trata tabelas como multiconjuntos: tuplas duplicadas podem aparecer mais de uma vez nas tabelas, e no resultado das consultas. O palavra-chave DISTINCT pode ser usada na cláusula SELECT para eliminar tuplas duplicadas no resultado das consultas.
9 Lista os salários de todos os funcionários SELECT ALL salario FROM funcionario; Opcional / Valor padrão Lista os salários diferentes dos funcionários SELECT DISTINCT salario FROM funcionario;
10 Operações de Conjuntos em SQL A SQL importou diretamente algumas das operações da teoria dos conjuntos da matemática. Existem operações de união de conjuntos (UNION), diferença entre conjuntos (EXCEPT), e interseção de conjuntos (INTERSECT). OBS: As relações resultantes dessas operações de conjuntos são conjuntos de tuplas; ou seja, tuplas duplicadas são eliminadas do resultado!
11 (a) Duas tabelas R e S. (b) R UNION S. (c) R EXCEPT S. (d) R INTERSECT S.
12 Consultas Aninhadas Algumas consultas precisam que valores existentes no banco sejam buscados para depois serem usados. Média de salário das pessoas que trabalham em projetos do mesmo departamento a que estão alocadas
13 Consulta Externa Consulta Aninhada. O resultado é uma tabela que só existe enquanto a query está sendo executada
14 SQL permite o uso do operador IN para verificar se um elemento v pertence a um conjunto V. Operador IN
15 Consultas Aninhadas Consultas aninhadas podem ser usadas em conjunto com operações de INSERT, UPDATE e DELETE. UPDATE customers SET salary = salary * 0.25 WHERE age IN (SELECT age FROM custormers2 WHERE age >= 27 );
16 Operadores Elemento-Conjunto Além do operador IN, SQL possui os operadores ANY, SOME e ALL que podem ser combinados com >, >=, <, <= e <>.
17 Restrições do Integridade São restrições que garantem que as mudanças feitas no banco de dados por usuários autorizados não resultem em uma perda da consistência dos dados. Protegem contra danos acidentais no banco de dados.
18 Restrições de Atributos CHECK Restrições mais complexas podem ser adicionadas aos atributos usando a cláusula CHECK. CREATE TABLE conta_bancaria ( <...> saldo FLOAT, CHECK (saldo >= 0) );
19 Restrições de Atributos CHECK Restrições de verificação podem ser adicionadas a posteriori usando o comando ALTER TABLE.
20 Restrições de Domínio CREATE DOMAIN <nome> <tipo-sql> CONSTRAINT <nome-da-restrição> CHECK (VALUE <operadores de condição>)
21 Restrições de Domínio São restrições que definem quais são os valores válidos para um determinado atributo. Podem ser criadas usando o comando CHECK na definição da relação ou usando tipos definidos pelo usuário.
22 Views É uma tabela derivada de outras tabelas que podem ser tabelas de base ou outras Views definidas anteriormente. Uma View não necessariamente existe em forma física; ela é considerada uma tabela virtual, ao contrário das tabelas de base, cujas tuplas sempre estão armazenadas fisicamente no banco de dados. Pensamos em uma View como um modo de especificar uma tabela que precisamos referenciar com frequência, embora ela possa não existir fisicamente.
23 Exemplo Consulta: Listar os nomes dos funcionários e os nomes dos projetos em que ele trabalha. Ao invés de especificar a junção de três tabelas, podemos definir uma View que é especificada como o resultado dessas junções. Depois, podemos emitir consultas sobre a View, que são especificadas como leituras de uma única tabela.
24 Exemplo: Multas em Livros
25 Atualização e Deleção de Views Atualização ALTER VIEW EmployeeView AS SELECT LastName, FirstName, Extension FROM Employess Deleção
26 Vantagens das Views Simplificam as consultas Permitem definir diferentes visualizações dos dados Permitem o controle de acesso aos dados
27 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 em proteger a base de dados de estragos propositados. A nível de SO A nível de rede A nível físico A nível humano A nível do banco de dados Autorização e Autenticação
28 Mecanismos de Segurança Mecanismos de Segurança Discricionários: São usados para conceder privilégios aos usuários. Direitos: Ler, inserir, modificar e deletar, resources, alteração e drop. Mecanismos de Segurança Obrigatórios: São usados para impor a segurança multinível pela classificação de dados e usuários em várias classes (ou níveis) de segurança.
29 Controle de Acesso e Views Pode-se dar autorização a utilizadores de uma View, sem dar autorização às 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 Views, pode ser usada para limitar o acesso de um usuário apenas aos dados de que ele necessita.
30 Atribuição de Permissões em SQL GRANT <lista de privilégios> ON <relação ou view> TO <lista de usuários> A atribuição de privilégios sobre uma view não se propaga às tabelas de base dela. Já os privilégios relativos às tabelas de base são herdadas pela view. O usuário só é capaz de atribuir privilégios que possui.
31 Atribuição de Permissões em SQL GRANT [SELECT DELETE INSERT [(colunas)] UPDATE [(colunas)] ALL PRIVILEGES] ON [TABLE] <tabela> TO [USER ROLE PUBLIC] [WITH GRANT OPTION]
32 CREATE Exemplo de GRANT
33 Roles Um papel (também chamado de perfil) é uma classe de usuários que possuem as mesmas restrições de acesso. Papéis podem se atribuídos a usuários ou a outros papéis.
34 Exemplo
35 Remoção de Permissões REVOKE <privilégios> ON <relação ou view> FROM <utilizadores> [RESTRICT CASCADE] Se for utilizada a opção CASCADE, todos os usuários que receberam permissão deste usuário também perdem a permissão. Se for utilizada a opção RESTRICT, apenas o usuário perde a permissão, mas se ele já passou para outra pessoa, o comando REVOKE falha.
36 Remoção de Permissões REVOKE [SELECT DELETE INSERT UPDATE ALL PRIVILEGES] ON [TABLE] <tabela> FROM [USER ROLE PUBLIC]
37 Stored Procedures Sequência de comandos SQL précompilados armazenados no servidor de banco de dados que podem ser chamados pelo nome para posterior execução.
38 Funções definidas pelo usuário PostgreSQL provê quatro tipos de funções: Funções em linguagem de Query (escritas em SQL) Funções em linguagem procedural (escritas em uma linguagem procedural como PL/pgSQL) Funções internas Funções em C
39 Sintaxe CREATE FUNCTION <nome> (<parameters>) RETURNS <tipo> AS <instruções SQL> LANGUAGE SQL; CREATE FUNCTION <nome> (<parameters>) RETURNS <tipo> AS $$ <instruções SQL> $$ LANGUAGE SQL;
40 Exemplo Função que deleta todos os empregados com salários negativos.
41 Exemplo Parâmetros Complexos
42 Declaração de Funções e Tipos de Retornos CREATE FUNCTION <nome> (<parameters>) RETURNS <tipo> AS $$ <instruções SQL> $$ LANGUAGE SQL; Retorno de Uma Linha CF f() RETURNS FLOAT AS... CF f() RETURNS PESSOA AS Seleção dos campos de pessoa CF f() RETURNS PESSOA AS... SELECT ROW(<campos>)::pessoa CF f(out P1 INT, OUT P2 FLOAT) RETURNS VOID AS... SELECT <inteiro>, <float> FROM... Retorno de Várias Linhas CF f() RETURNS SETOF FLOAT AS... CF f() RETURNS SETOF PESSOA AS Seleção de várias pessoas CF f(out P1 INT, OUT P2 TEXT) RETURNS SETOF RECORD AS... CF f() RETURNS TABLE(P1 INT, P2 FLOAT) AS...
43 Revisão Invocação de Funções Invocação simples SELECT f1(param1, param2); Invocação quando a função retorna várias colunas SELECT * FROM f1(param1, param2); Invocação com filtragem SELECT nome, idade FROM f1() WHERE idade > 18 Invocação com joins SELECT p.nome FROM f1() AS f INNER JOIN pessoa p ON f.id = p.id
44 Parâmetros com Valores Padrão
45 Funções SQL atuando como Tabelas
46 PL/pgSQL O PostgreSQL permite que funções definidas pelo usuário sejam escritas em outras liguagens além de C e SQL. Estas outras linguagens são chamadas de Procedural Languages (PLs). O banco de dados não possui conhecimento a priori sobre como interpretar estas PLs. A tarefa é executada por um handler especial que conhece os detalhes da linguagem.
47 Linguagens Existem quatro PLs disponíveis nas distribuições padrão do PostgreSQL: PL/pgSQL PL/Tcl PL/Perl PL/Python Existem PLs adicionais que não estão incluídas no core da distribuição.
48 PL/pgSQL Estrutura Básica Uma função em PL/pgSQL é definida usando a seguinte sintaxe:
49 PL/pgSQL Declaração de Variáveis Todas as variáveis usadas em um bloco devem ser declaradas na seção DECLARE. OBS: O valor DEFAULT de uma variável é avaliado sempre que a função é chamada. Por exemplo: atribuir NOW() para uma variável de tipo timestamp faz com que a variável receba o instante de tempo de cada chamada da função (não o instante de pré-compilação). name [CONSTANT] type [COLLATE collation_name] [NOT NULL] [{DEFAULT :=} expression];
50 PL/pgSQL - Retorno de Funções
51 Essa função exemplifica o fato do RETURN QUERY não retornar de fato da função, mas apenas adicionar o resultado ao final do conjunto de retorno. A função lista os funcionários do sexo masculino e, em seguida, os do sexo feminino.
52
53 Condicionais Exemplo
54 Loops Os seguintes comandos podem ser usados para realizar repetições: LOOP END LOOP: loop infinito até que um EXIT ou RETURN seja encontrado. EXIT: equivalente ao BREAK de outras linguagens. CONTINUE: avalia a condição do loop e retorna à primeira instrução. WHILE LOOP END LOOP: repete enquanto uma condição for verdadeira FOR LOOP END LOOP: Forma 1: equivalente ao for de C/C++. Cria um loop que itera sobre um conjunto de valores inteiros. Forma 2: itera sobre os resultados de uma consulta. FOREACH LOOP END LOOP: usado para iterar sobre os elementos de um array.
55 FOR Exemplos
56 Exemplo Função que calcula o salário médio dos funcionários de um departamento
57 Exemplo Função que calcula o salário médio dos funcionários de um departamento
58 Triggers Em muitos casos, é conveniente especificar um tipo de ação a ser tomada quando certos eventos ocorrem e/ou quando certas condições são satisfeitas. Um trigger (ou gatilho) é uma especificação de que o banco de dados deve executar uma determinada função sempre que um tipo de operação (INSERT, UPDATE ou DELETE) é realizado. Triggers podem ser definidos para tabelas e para views. No caso das views, o objetivo usualmente é realizar uma operação nas tabelas de base ao invés de operar sobre a view.
59 Aplicações Avaliação de regras de negócio Realizar operações em cascata Comparar os estados anteriores e posteriores dos dados que estão sendo modificados Manter tabelas de auditoria (gerando registros de log) etc.
60 Classificação dos Triggers Por linha (per-row): são executados para cada linha afetada por um determinado comando. Por comando (per-statement): são ativados sempre que um comando é executado, independente do número de linhas afetadas.
61 Definição de Triggers CREATE FUNCTION nome() RETURNS trigger AS $$... SEM ARGS! $$ language PLPGSQL; CREATE TRIGGER nome BEFORE INSERT ON tabela FOR EACH ROW EXECUTE PROCEDURE nome();
62 Variáveis pré-definidas em Triggers NEW e OLD: são variáveis do tipo record que armazenam o novo e o antigo valor do banco de dados em comandos de INSERT e UPDATE. Em per-statement triggers, essas variáveis não existem. TG_WHEN: uma string contendo BEFORE, AFTER ou INSTEAD OF dependendo da definição do trigger. TG_LEVEL: uma string com ROW ou STATEMENT. TG_OP: uma string com INSERT, UPDATE ou DELETE dependendo da operação que ativou o trigger.
63 Variáveis pré-definidas em Triggers TG_TABLE_NAME: uma string com o nome da tabela cuja operação disparou o trigger. TG_NARGS: O número de argumentos dados ao trigger na definição CREATE TRIGGER. TG_ARGV[]: é um array de strings (indexado a partir de 0) com tamanho TG_NARGS que armazena os parâmetros vindos da definição CREATE TRIGGER.
64 Tipos de Retorno de Funções de Trigger BEFORE Triggers: devem retornar NULL ou uma variável record ou row com a mesma estrutura da tabela que causou a invocação do trigger (usualmente são usados OLD ou NEW). NULL: cancela a operação.!= NULL: a operação prossegue com o valor usado como retorno (ex.: OLD, NEW ou NEW modificado). OBS: No caso do DELETE, NEW é NULL, então para executar o comando deve ser retornado OLD.
65 Tipos de Retorno de Funções de Trigger AFTER Triggers ou per-statement Triggers: O valor de retorno desses triggers é sempre ignorado e pode ser naturalmente NULL. Para cancelar a execução de triggers desses tipos, deve ser lançada uma exceção (cena dos próximos capítulos).
66 Exemplo Não permitir que funcionários sejam alocados a um determinado departamento NOTA: depto. invalido
67 Remoção de Triggers DROP TRIGGER <trigger-name> ON <table>;
Aula 12 Revisão. Prof. Filipe Wall Mutz
Aula 12 Revisão Prof. Filipe Wall Mutz Operadores Avançados: Consultas com Operadores Aritméticos SQL permite o uso de operadores aritméticos (+, -, *, /) tanto na cláusula WHERE como nos resultados da
Leia maisConsultas SQL. Andre Noel
Consultas SQL Andre Noel Introdução Introdução Uma distinção entre SQL e o modelo relacional: SQL permite que uma tabela tenha duas ou mais tuplas iguais Introdução Uma distinção entre SQL e o modelo relacional:
Leia maisAvisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova
Ciência da Computação GBC043 Sistemas de Banco de Dados Programando com SQL s Avisos Vista da segunda prova Data: 03/06 das 13:40 às 15:00h Local: sala 1B137 Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br
Leia maisProgramando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi
Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store
Leia maisRestrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações
Capítulo 5: Integridade e Segurança Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações 1 Triggers Um trigger é um comando que é executado automaticamente pelo sistema,
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 maisLinguagem SQL Restrições, Triggers e Views
FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação Linguagem SQL Restrições, Triggers e Views Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre
Leia maisPostgreSQL Desenvolvedor
CONTEÚDO PROGRAMÁTICO PostgreSQL Desenvolvedor Carga horária: 32 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO Ementa do
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 maisRápida revisão do Modelo Relacional
Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.
Leia maisRevisão de Bancos de Dados
Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)
Leia maisPCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo
PCS3413 Engenharia de So-ware e Banco de Dados Aula 20 Escola Politécnica da Universidade de São Paulo 1 PROCEDIMENTOS TRIGGER STORED PROCEDURE Regras de Negócio controladas pelo SGBD SGDB Relacional dispoõe
Leia maisUNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO
UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton
Leia maisBANCO DE DADOS WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha.
BANCO DE DADOS WEB AULA 9 concessão e revogação de privilégios professor Luciano Roberto Rocha www.lrocha.com O que são privilégios Quem cria o objeto no banco de dados se torna o seu dono. Por padrão,
Leia maisTabelas. Banco de Dados I MySQL
FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de
Leia maisSQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:
SQL Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino
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 maisIMPLEMENTAÇÃO DE BANCO DE DADOS
IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão
Leia maissaída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única
Tópicos do Curso: Introdução Listar os principais recursos do Banco de Dados Oracle 10g Apresentar uma visão geral de: componentes, plataforma de internet, servidor de aplicações e suite do desenvolvedor
Leia maisAULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)
AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados
Leia maisDDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR
SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80
Leia maisSQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.
LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre
Leia maisIntrodução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Funções e procedimentos 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 de
Leia maisS Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore
S Q L Asserções, Visões e Técnicas de Programação Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore Resumo Apresentaremos os seguintes tópicos: - Especificação de restrições genéricas
Leia maisSQL (Tópicos) Structured Query Language
SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir
Leia maisANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início
Leia maisBD II (SI 587) Segurança em Banco de Dados. Josenildo Silva.
BD II (SI 587) Segurança em Banco de Dados Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco
Leia maisTriggers no PostgreSQL
Triggers no PostgreSQL Traduzido do manual do PostgreSQL Pode-se utilizar PL/pqSQL para a definição de triggers (gatilhos). Um procedimento do tipo trigger é criado com o comando CREATE FUNCTION, declarando
Leia maisGES013 - Sistema de Banco de Dados Funções e Gatilhos no PostgreSQL
GES013 - Sistema de Banco de Dados Funções e Gatilhos no PostgreSQL Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM Página 2 SQL EM FUNÇÕES E GATILHOS
Leia maisSumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010
Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)
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 maisBancos (Bases) de Dados
Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem
Leia maisOracle Database: Fundamentos de SQL e PL/SQL
Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED
Leia maisTriggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve
Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 21 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.
Leia maisACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
ACH2025 Laboratóriode Bases de Dados Aula10 SQL Oracle Asserçõese gatilhos Professora: Fátima L. S. Nunes REGRAS DE INTEGRIDADE (RI) garantem que mudanças feitas no BD não resultem em inconsistência de
Leia maisORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL
ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Objetivo: No curso Oracle 11G Introdução ao Oracle, SQL, PL/SQL será abordado desde a introdução da tecnologia do banco de dados em questão como todos os conceitos
Leia maisOracle Database 11g: Introdução à Linguagem SQL Novo
Oracle University Contact Us: 0800 891 6502 Oracle Database 11g: Introdução à Linguagem SQL Novo Duration: 5 Days What you will learn Neste curso, os alunos aprendem os conceitos de bancos de dados relacionais.
Leia maisLista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I
Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Considere o diagrama relacional da Figura 1 e escreva os comandos SQL para executar os exercícios abaixo. Figure 1 Diagrama relacional.
Leia maisSQL-99: Esquema de BD EMPRESA
SQL-99: Esquema de BD EMPRESA SQL-99: Instâncias do esquema EMPRESA 1 Consultas externa, aninhada e correlacionada para cada tupla da consulta externa, a consulta aninhada devolve o atributo solicitado
Leia maisLaboratório de Banco de Dados. Prof. Luiz Vivacqua.
(la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada
Leia maisTriggers(Gatilhos) Tiago Alves de Oliveira
Triggers(Gatilhos) Tiago Alves de Oliveira tiago.alves@uemg.br Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos
Leia maisBanco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011
Banco de Dados I Aula 14 - Prof. Bruno Moreno 11/10/2011 Plano de Aula INSERT UPDATE SELECT-FROM-WHERE Uso de ALIASES SELECT com * DISTINCT Operações de Conjuntos Comparação entre substrings Operadores
Leia maisBanco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte
Banco de Dados Diego Silveira Costa Nascimento Instituto Federal do Rio Grande do Norte diego.nascimento@ifrn.edu.br 20 de março de 2015 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento
Leia maisPSI Linguagem de Definição de dados. Módulo 15
PSI Linguagem de Definição de dados Módulo 15 Objetivos de aprendizagem No final deste módulo os alunos devem ter adquirido conhecimentos, procedimentos e atitudes que lhe permitam: Criação, alteração
Leia maisIntrodução ao PostgreSQL
Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula
Leia maisA 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 maisA U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A
BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem
Leia maisFACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento
FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre o banco de dados. Especificar regras
Leia maisBanco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
Leia maisBANCO 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 maisLinguagens Procedurais no PostgreSQL: Funcoes. Linguagens Procedurais no PostgreSQL: Funcoes
Linguagens Procedurais no PostgreSQL: Funcoes Introdução à programação procedural no servidor e linguagem plpgsql para implementação de funções. ARQUITETURA/PROCESSOS postmaster: (Host, único, aguardando
Leia maisLinguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;
MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel
Leia maisCurso de Ciência da Computação
Curso de Ciência da Computação MATÉRIA: Banco de Dados II ASSUNTO: Triggers (Gatilhos ou automatismos) PROFESSOR: Ricardo Rodrigues Barcelar Objetivos: Apresentar a linguagem Structured Query Language
Leia maisBCD29008 Banco de dados
BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017
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 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 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 maisIntrodução ao Banco de Dados. Banco de Dados
Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:
Leia maisTarefa Orientada 17 Scripts
Tarefa Orientada 17 Scripts Objectivos: Declaração de variáveis escalares Declaração de variáveis do tipo tabela Tabelas temporárias Estruturas Condicionais Estruturas de Repetição Tratamento de erros
Leia maisIntrodução Sintaxe Básica Retornos Múltiplos Junções em Funções Comando Case Atividade. de Banco de Dados (CREATE FUNCTION) Bruno Neiva Moreno
Programação e Administração de Banco de Dados Aula 1.7 - Funções (CREATE FUNCTION) Bruno Neiva Moreno Instituto Federal do Rio Grande do Norte Campus Nova Cruz bruno.moreno@ifrn.edu.br 1/20 Introdução
Leia maisAgenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais
Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas
Leia maisLinguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas
Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML
Leia maisMODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.
MODELAGEM DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o
Leia maisOracle PL/SQL Triggers
BDDAD Bases de Dados Oracle PL/SQL Triggers Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/39 Triggers Sumário Introdução Conceito de Trigger Tipos de Triggers Designações de um Trigger Triggers DML Características
Leia maisStored Procedures e Triggers
e Triggers Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Rotinas Armazenadas Stored Procedures Exemplos Triggers Exemplos Exercícios 2 Rotinas Armazendas Rotinas Armazenadas são um conjunto de comandos
Leia maisFundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha
Fundamentos de SQL Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha SQL - Introdução SQL-Structured Query Language (Linguagem de
Leia maisL Q S m e g a u g n Li A
A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado
Leia maisSQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida
SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para
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 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 maisAtualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g
Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando
Leia maisMODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.
MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza DML Data Manipulation Language Linguagem de Manipulação de Dados Comandos básicos: Insert Update
Leia maisVisões ... Esquema Externo n. Esquema Externo 1. Esquema Lógico. Usuários finais/aplicações
Visões Visão tabela derivada a partir das tabelas do BD tabela virtual isto é transparente para usuários e aplicações visões são manipuladas como tabelas normais do BD Visões fazem parte dos esquemas externos
Leia maisf. Exemplo: verificar condição de aprovação de alunos
Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Semana 17 1) Expressões CASE a. Tem a mesma finalidade que nas linguagens
Leia maisInstituto Federal de Educação, Ciência e Tecnologia de São Paulo
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Segurança em Sistemas de Banco de Dados César Alberto da Silva Presidente Epitácio, 18 de Setembro de 2013 Agenda Por que proteger os dados?
Leia maisUtilizando o Postgres - comandos SQL para a manipulação de dados
Utilizando o Postgres - comandos SQL para a manipulação de dados SELECT A declaração SELECT é utilizada para selecionar os dados de um banco de dados. SELECT nome FROM clientes WHERE A cláusula WHERE é
Leia maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Revisão de Arquitetura C/S BD Cliente-Servidor com função distribuída Cliente Servidor Aplicativo
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 maisProf. Josenildo Silva
BD II (SI 587) Gatilhos (Triggers) Prof. Josenildo Silva jcsilva@ifma.edu.br Motivação Algumas rotinas precisam ser executadas antes ou depois de um determinado evento no banco de dados Motivação Regras
Leia maisBanco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011
Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE
Leia maisInstrução Create Table
Tipos em SQL char(n): cadeia de caracteres de comprimento fixo n varchar(n): cadeia de caracteres de comprimento variável, com o máximo n especificado pelo utilizador int: inteiro (um subconjunto finito
Leia maisSQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer
SQL BÁSICO Luiz Antônio Vivacqua Corrêa Meyer SQL (Structured Query Language) Início na década de 70 pela IBM com o nome de SEQUEL. Em 1980 o produto mudou seu nome para SQL. American National Standards
Leia maisMaterial Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque
Banco de Dados Material Teórico Procedures, Functions, Exceptions e Triggers Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Revisão Textual: Prof. Ms. Claudio Brites Procedures, Functions,
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas
Leia maisProgramação em SGDB s
Stored Procedures Programação em SGDB s Functions, Procedures e Triggers Permite a programação de códigos em um SGBD. Por que programar no SGBD? Linguagens: plpgsql, Tcl, Perl, Pyton e C. Vantagens da
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 maisSQL. Linguagem de Definição de Dados (DDL) Tipos em SQL. Tipos Data/Tempo em SQL (cont.)
SQL Linguagem de Definição de Dados (DDL) Linguagem de Definição dos Dados Tipos em SQL Manipular Tabelas (relações) Integridade e Segurança Linguagem de Manipulação dos Dados Estrutura básica Operações
Leia maisSQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...
Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@facom.ufu.br Bloco B - sala 1B137 SQL DML CONTINUAÇÃO...
Leia maisTRIGGER e SEGURANÇA. Prof. Edson Thizon
TRIGGER e SEGURANÇA Prof. Edson Thizon 1 Restrição de Integridade Restrição de integridade Uma regra que deve ser obedecida por todos estados da base de dados que são considerados consistentes. Especificação
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 maisGBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL
GBC043 - Sistemas de Banco de Dados Funções e Gatilhos no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem
Leia maisAula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU
Aula 6 BD1 Modelo Relacional Profa. Elaine Faria UFU - 2017 Introdução Modelo Relacional Proposto por Codd em 1970 Revolucionou a área de banco de dados É o modelo dominante base para os SGBDs líderes
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 maisAs 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: os números de conta são únicos RI 2: a cidade de uma agência
Leia maisRestrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações
Capítulo 5: Integridade e Segurança Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações 1 Restrições ao Domínio As restrições de integridade impõem-se para garantir
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 mais