Ambiente SQL: esquemas

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

Download "Ambiente SQL: esquemas"

Transcrição

1 Ambiente SQL: esquemas Um ambiente SQL é constituído pelo conjunto de elementos da BDs tabelas, visões, domínios e asserções, sobre os quais podem ser executadas operações SQL. Estes elementos podem ser organizados em hierarquias de estruturas com um determinado papel numa organização: Esquemas caracterizam uma BD e são constituídos por tabelas, visões, asserções e domínios. Em SQL: CREATE SCHEMA <nome BD> Catálogos conjuntos de esquemas. Em SQL (não é standard): CREATE CATALOG <nome> Clusters conjuntos de catálogos. Um utilizador tem associado a si um cluster que determina o conjunto de catálogos acessíveis a utilizador. O SQL2 não é muito explicito sobre o que é um cluster. 25 Ligações ao servidor Num ambiente SQL existem dois tipos especiais de processos: clientes-sql e servidores-sql (que podem residir na mesma máquina ou em máquinas distintas). um servidor-sql serve os pedidos de execução de operações sobre a BD. um cliente-sql permite a um utilizador ligar-se ao servidor com o qual vai comunicar para submeter operações para execução no servidor. O SQL permite a abertura de uma ligação de um cliente ao servidor através de: CONNECT TO <nome-servidor> AS <nome-ligação> ou desligar-se através de DISCONNECT <nome-ligação>

2 Cancelar privilégios REVOKE <privilegios> ON <elemento> FROM <utilizador> [CASCADE RESTRICT] CASCADE cancela também privilégios atribuídos em função dos privilégios agora cancelados. RESTRICT o comando REVOKE não é activado se motivar a perda de outros privilégios. podemos ainda ter REVOKE GRANT OPTION FOR <privileges> ON <elemento>... Privilégios ao nível-conta Privilégios associados à criação da conta de um utilizador e que normalmente determinam se o utilizador vai poder criar ou remover tabelas e/ou visões. Estes privilégios não estão definidos no SQL2, fazem parte do SGBD e a sua definição é da responsabilidade do administrador da BDs. 23 Administrador da BD (DBA) É a entidade central na gestão do SGBD, possui uma conta-privilegiada (analoga à root em Unix) que lhe permite: criar novas contas de utilizador da BD conceder privilégios ao nível-conta e nível-relação retirar privilégios atribuir níveis de segurança, que podem ser diferentes para os vários utilizadores.

3 Privilégios em SQL Obtenção de privilégios: O criador de uma relação é designado por OWNER. O OWNER tem todos os privilégios e pode transmiti-los (GRANT) a outros. Transmissão de previlégios em SQL: GRANT <privilegios> ON <elemento> TO <utilizador> [WITH GRANT OPTION] privilegios é um dos 6 tipos de privilegios ou é ALL PRIVILEGES se se pretender transmitir todos os privilegios do OWNER a um outro utilizador. elemento, em geral é uma tabela ou visão, mas também pode ser um domínio. utilizador lista de nomes de utilizador ou PUBLIC. WITH GRANT OPTION é opcional e dá ao utilizador a possibilidade de transmitir os privilégios a outros. 21 Exemplos de atribuição de privilégios em SQL Considere que estão definidos na BD 4 utilizadores de nomes A1, A2, A3, A4. Suponha ainda que A1 cria as relações (fica dono) Empregado(Pnome,Unome,BI, ) e Departamento(Dnum,Dnome, ) A1 dá permissões a A2 de inserir e remover tuplos das 2 relações, mas não pode propagar privilégios: GRANT INSERT,DELETE ON Empregado,Departamento TO A2; A1 dá permissões a A3 de acesso às duas tabelas e permite-lhe que propague esse privilégio outros: GRANT SELECT ON Empregado, Departamento TO A3 WITH GRANT OPTION;

4 Propriedades desejáveis das transacções: 1. Atomicidade - uma transacção é uma unidade processamento atómica; ou é realizada na totalidade ou não se realiza. 2. Consistência - a correcta execução de uma transacção deve conduzir a BD de um estado consistente a outro. 3. Isolamento - uma transacção não deve tornar as suas actualizações vísiveis a outras transacções até que esteja em commit. 4. Durabilidade ou permanência - uma transacção altera a BDs de forma permanente. 19 Segurança em BDs Objectivos: Necessário garantir que os utilizadores só vêm a informação que são supostos vêr. Proteger a BDs contra actualizações de utilizadores mal intencionados. Solução: Atribuir privilégios aos utilizadores quais estão autorizados. O SQL2 define 6 tipos de privilégios: os utilizadores só podem trabalhar com os dados para os SELECT, INSERT, UPDATE, DELETE - aplicam-se a uma relação (base ou visão). REFERENCES - permite a verificação de integridade referêncial. USAGE - privilégio sobre um domínio.

5 Log de Transacções Tendo em vista a recuperação de falhas, um SGBD matém registo (chamado de log) onde regista o percurso de execução das transacções, nomeadamente as operações que afectam a informação contida na BD. O log é mantido em disco (do qual deve existir um backup) para salvaguardar de outras falhas (excepto falha do próprio disco). As entradas registas neste ficheiro-log são (para uma dada transacção T): [start transaction,t] - iniciou-se a execução de T. [write item,t,x,oldval,newval] - T modificou o item X da BD de OldVal para NewVal. [read item,t,x] - T leu o item X. [commit,t] - T terminou com sucesso e as alterações são definitivas. [abort,t] - interrupção de T. Os blocos do ficheiro de logs que estão a ser modificados em memória são escritos para disco sempre que uma transacção faz commit. 17 Checkpoints Para simplificar a recuperação da BD após falhas, o SGBD procede a checkpoints regulares, adicionando ao ficheiro de logs a marca [checkpoint]. Assim, todas as transacções que tenham uma entrada commit no ficheiro de logs antes da marca checkpoint, não necessitam de recuperação. A realização de um checkpoint envole: suspender temporáriamente a execução das transacções. forçar a escrita, da memória para o disco, de todas as actualizações originadas por transacções que chegaram à fase de commit. escrever a marca [checkpoint] no log e forçar a escrita do log para disco. voltar à execução das transacções.

6 Exemplo de COMMIT/ROLLBACK de uma transacção Transferência de dinheiro entre 2 contas: EXEC SQL BEGIN DECLARE SECTION; int cta1, ct2, saldo1, valor; /* valor a transferir */ EXEC SQL END DECLARE SECTION; void transfere() <código C para ler cta1, cta2 e valor a transferir>; EXEC SQL SELECT saldo INTO :saldo1 FROM Conta WHERE numcta= :cta1; if (saldo1 >= valor) EXEC SQL UPDATE Conta SET saldo= saldo+valor; WHERE numcta= :cta2; EXEC SQL UPDATE Conta SET saldo= saldo-valor; WHERE numcta= :cta1; EXEC SQL COMMIT; else EXEC SQL ROLLBACK; /* neste caso nao era necessário */ <código C com mensagem de saldo insuficiente>; 15 Transacções read-only Uma forma de proteger a execução de uma operação de uma transacção (normalmente envolvendo escrita) para se garantir consistência no resultado, é usando locks ou algo equivalente. Caso as operações de uma transacção apenas envolvam acesso (leitura) a dados, então o SGBD tem mais liberdade na execução dessas operações de forma concorrente. Em SQL podemos indicar que a próxima transacção é read-only (por defeito é read-write): SET TRANSACTION READ ONLY Podemos ainda indicar se uma transacção pode ou não usar valores gerados por transacções que ainda não fizeram commit (dirty-reads): SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ou indicar que não pode usar dirty-reads: SET TRANSACTION ISOLATION LEVEL READ COMMITTED

7 Transacção para reserva de um lugar num voo EXEC SQL BEGIN DECLARE SECTION; int nvoo; /* num. do voo */ char data[10]; /* data do voo em formato SQL */ char lugar[3]; /* lugar representado por 2 digitos e uma letra */ int oc; /* bool. lugar ocupado ou não */ EXEC SQL END DECLARE SECTION; void escolhelugar() <código C para ler nvoo, data e lugar>; EXEC SQL SELECT ocupado INTO :oc FROM Voos WHERE vnum= :nvoo AND vdata= :data AND vlug= :lugar; if (!oc) EXEC SQL UPDATE Voos SET ocupado= B1 WHERE vnum=:nvoo AND vdata= :data AND vlug= :lugar; <código C para registar o lugar reservado e informar o utilizador>; else <código C informar do insucesso da reserva e pedir outra selecção>; 13 Execução de transacções Uma forma de se evitar problemas de concorrência resultantes da execução de transacções que, por exemplo, modificam dados numa mesma tabela é isolar a sua execução. O isolamento pode ser conseguido através da sequencialização, i.e. permitindo-se intercalar a execução de operações de transacções desde que o resultado da sua execução seja equivalente ao da execução sequêncial. A implementação de transacções varia de sistema para sistema, contudo o mais comum é usar-se: EXEC SQL COMMIT; para indicar o fim da transacção e tornar permanentes todas as alterações feitas à BD pela transacção. Todas as operacções realizadas pela transacção até à execução do COMMIT são temporárias, podendo ser ou não vistas por outras transações. EXEC SQL ROLLBACK; para fazer com que a transacção aborte a execução, ou termine sem sucesso. Todas as alteracções entretanto realizadas pela transacção são invalidadas e não aparecem na BD.

8 Problemas relacionados com concorrência Exemplo 1: Cliente1: UPDATE Empregado SET Salario = Salario*1.1 WHERE EBI= Cliente2: UPDATE Empregado SET SuperBI = WHERE EBI= Cada cliente lê um tuplo, modifica um atributo e escreve novamente o tuplo. Possíveis resultados sem control de concorrência? Possível perda de actualizações: apenas uma actualização ou as duas. Exemplo 2: Cliente1: UPDATE Empregado SET salario = salario*1.1 WHERE ndep= 5 Cliente2: UPDATE Empregado SET ndep= 15 WHERE ndep= 5 Possíveis resultados sem control de concorrência: cada tuplo sofre uma ou duas alterações, podendo não ser consistente nos tuplos todos afectados. Exemplo 3 (mais complicado): Cliente1: INSERT INTO DOld (SELECT * FROM Departamento where DirData< ); DELETE FROM Departamento WHERE DirData= ; Cliente2: SELECT COUNT(*) FROM Departamento; SELECT COUNT(*) FROM DOld; Seria bom permitir que uma sequência de comandos SQL possa ser executada separadamente. 11 Problemas com falhas e solução para os problemas Exemplo 3 (cliente 1): INSERT INTO DOld (SELECT * FROM Departamento where DirData< ); DELETE FROM Departamento WHERE DirData= ; Se o sistema falhar após o primeiro comando que fazer? necessário mencanismos de recuperação de falhas. Solução para os problemas: transacções. Uma transacção é uma sequência de uma ou mais operações SQL (interactivas ou integradas) tratadas como uma unidade e executadas atomicamente. Ou de outra forma, designa-se por transacção a execução de um programa que acede ou modifique o conteúdo de uma BDs. Quando uma transacção é submetida para execução no SGBD, este garante que: todas as operações na transacção são completadas com sucesso e o seu efeito reflectido na BDs, ou a transacção não tem qualquer efeito na BDs ou em outras transacções.

9 Procedimentos e cursores em PL/SQL Exemplo: Escrever um procedimento para lêr o BI de um empregado e escrever o seu primeiro e último nome. CREATE PROCEDURE getebi( ebi Empregado.EBI%TYPE; pn OUT Empregado.Pnome%TYPE; un OUT Empregado.Unome%TYPE) AS BEGIN SELECT Pnome,Unome INTO pn, un FROM Empregado WHERE EBI = ebi; DBMS_OUTPUT.PUT_LINE (pn,un); END; os triggers em Oracle são blocos PL/SQL. Chamar um bloco PL/SQL a partir de um programa Pro*C: EXEC SQL EXECUTE BEGIN <código PL/SQL> END; END-EXEC; 9 Transações O conceito de transacção surge motivado por duas propriedades importantes de um SGBD: Acesso multi-utilizador à BD Muitas das BDs são mantidas em servidores (através do SGBD) ao qual podem ligar-se multiplos clientes para operarem em simultaneo sobre a mesma BD. Concorrência no acesso aos dados por parte de programas pode trazer problemas necessário ter mecanismos de control de concorrência. Segurança contra falhas do sistema O que fazer quando se está a fazer um carregamento de uma tabela (transferência de dados) e o sistema falha a meio?

10 Linguagens de Programação do SGBD Muitos SGBD possuem as suas mini-linguagens de programação que incluem SQL, variáveis, construtcores de control, procedimentos, etc. Vantagens de se ter uma linguagem própria: reduz a diferença entre a linguagem de programação e o SQL. executa no SGBD. pode-se guardar procedimentos e funções no SGBD que podem ser invocadas por utilizadores e aplicações. pode ser usada para definição de triggers, métodos de objectos,... Programação em Oracle: questões SQL interactivas (SQL query mode) escrever programas numa linguagem, e.g. C, com SQL embebido. Um precompilador (PRO*C) é usado para ligar o programa ao Oracle. escrever programas na linguagem do Oracle: PL/SQL. 7 Programação em PL/SQL (Oracle) linguagem estruturada em blocos. Um bloco pode ser um procedimento, uma função ou um bloco anónimo simples. um bloco PL/SQL possui três partes: 1) declarações de variáveis e objectos; 2) parte executável onde se manipulam as variáveis e objectos, e 3) excepções, lidam-se com erros e excepções da execução. Exemplo: Escrever todos os nomes de empregados do departamento vendas. DECLARE pn Empregado.Pnome%TYPE; un Empregado.Unome%TYPE CURSOR e5info IS SELECT Pnome, Unome FROM Empregado, Departamento WHERE Ndep = Dnum AND Dnome = "Vendas"; BEGIN OPEN e5info; LOOP FETCH e5info INTO pn, un; EXIT WHEN e5info%notfound; END LOOP; CLOSE e5info; END;

11 Cursores (cont.) EXEC SQL OPEN cursor permite inicializar o cursor para leitura do primeiro tuplo do conjunto de tuplos sobre os quais varia. EXEC SQL FETCH FROM cursor permite aceder ao tuplo seguinte da relação. Se não retornar nenhum tuplo e se SQLSTATE for 02000, então significa que não foram encontrados mais tuplos. Modificações via cursores Se se tiver um cursor sobre uma tabela R da BDs, podemos remover ou actualizar tuplos dessa tabela: EXEC SQL DELETE FROM R WHERE CURRENT OF cursor; EXEC SQL UPDATE R SET attributes = values WHERE CURRENT OF cursor; 5 Cursores SCROLL Anotando-se um cursor com SCROLL permite-se que o cursor seja usado de forma não sequêncial sobre o conjunto de tuplos. FETCH NEXT tuplo seguinte. FETCH PRIOR tuplo anterior. FETCH FIRST primeiro tuplo. FETCH LAST último tuplo. FETCH RELATIVE +/- num desloca o cursor num posições para a frente ou para tráz. FETCH ABSOLUTE +/- num desloca o cursor num posições começando no primeiro (se positivo) ou começando no último (se negativo).

12 Exemplo SQL/C pedir ao utilizador o número de BI do empregado e retornar o seu primeiro e último nome. EXEC SQL BEGIN DECLARE SECTION; integer ebi; /* variáveis partilhadas */ char pn[15],un[15]; char SQLSTATE[6]; /* var. especial de ligação com SQL */ EXEC SQL END DECLARE SECTION; <código para pedir e lêr o BI, ebi := EBI> EXEC SQL SELECT Pnome,Unome INTO :pn,:un FROM Empregado WHERE EBI= :ebi; <escreve pn e un> resolve o problema (a) variáveis declaradas de forma especial, podem ser acedidas pelo SQL desde que precedidas de :. resolve o problema (b) com o uso de INTO para indicar as variáveis que vão conter o resultado. SQLSTATE captura códigos de erro caso o resultado seja NULL (zero tuplos) ou mais do que um tuplo. 3 Cursores Necessário, quando a questão SQL embebida devolver mais do que um tuplo como resultado. O cursor é um apontador (handle) que permite aceder à vez (i.e. um de cada vez) aos tuplos de uma tabela ou do resultado de uma questão. Exemplo: Escrever os nomes e salários de todos os empregados do departamento de vendas. Passo 1: declarar o cursor Passo 2: executar questão iterativamente EXEC SQL EXEC SQL BEGIN DECLARE SECTION; DECLARE e5info CURSOR FOR char pn[15], un[15]; SELECT Pnome,Unome,Salario float s; FROM Empregado, Departamento EXEC SQL END DECLARE SECTION; WHERE Ndep = Dnum EXEC SQL OPEN e5info; AND Dnome = "Vendas" EXEC SQL FETCH FROM e5info INTO :pn,:un,:s; WHILE (SQLSTATE <> end-of-tuples) <escreve pn, un, s> EXEC SQL FETCH FROM e5info INTO :pn,:un,:s; EXEC SQL CLOSE e5info;

13 SQL num Ambiente de Programação Temos vindo a usar SQL de forma interactiva, como se tivessemos um interpretador de SQL que aceita e executa as nossas questões-sql. Na realidade, o SQL não é usado deste modo, mas sim embebido em programas. O SQL2 estabelece que um SGBD deve suportar comandos SQL embebidos em linguagens de programação como (C, Fortran, Cobol, Java, Perl, Tcl/tk,...) Como? 1. Um programa numa dada linguagem com directivas e comandos SQL passa por um preprocessador especial do SGBD para produzir Um programa com chamadas a funções especiais do SGBD que é compilado e ligado com uma biblioteca especial do SGBD para produzir Código executável que chama o SGBD 1 Problemas em integrar SQL num programa a) Como passar valores do programa para os comandos SQL? b) Como retornar os resultados dos comandos SQL para as variáveis do programa? c) Como lidar com resultados que são conjuntos-de-valores? Conhecido por problema impedance mismatch que resulta de o modelo de dados do SQL ser muito diferente de outras linguagens. SQL modelo de dados relacional (relações de tuplos de valores) C modelo de dados inclui inteiros, reais, caracteres, estruturas, matrizes, apontadores, etc. O C não representa directamente conjuntos, e o SQL não inclui apontadores ou matrizes.

Bases de Dados. Parte VI SQL em Ambiente de Programação

Bases de Dados. Parte VI SQL em Ambiente de Programação Bases de Dados Parte VI SQL em Ambiente de Programação 1 SQL em Ambiente de Programação O SQL pode ser usado de forma interactiva por utilização do interface normalmente disponibilizado pelo próprio SGBD

Leia mais

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

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

Leia mais

António Rocha Nuno Melo e Castro

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

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Visão Geral Uma transação é uma unidade lógica de trabalho (processamento) formada por um conjunto de comandos SQL cujo objetivo é preservar a integridade e a consistência dos dados. Ao final

Leia mais

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch)

Motivação. Aplicações precisam acessar o BD Linguagens BD X Linguagens Programação. paradigmas diferentes (impedance mismatch) Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

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

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

Leia mais

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: - Necessidade O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros: Os livros que custarem mais de 10, devem ver o seu preço

Leia mais

INE 5336. Banco de Dados II. Sumário

INE 5336. Banco de Dados II. Sumário INE 5336 Banco de Dados II Ronaldo S. Mello 2004/2 1 SQL Embutida Sumário 2 Processamento de Consultas 3 Introdução a Transações 4 Recuperação de Falhas 5 Controle de Concorrência 6 Banco de Dados Distribuído

Leia mais

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,

Leia mais

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

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

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

SQL. Ambientes de programação O catálogo do sistema. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

SQL. Ambientes de programação O catálogo do sistema. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Ambientes de programação O catálogo do sistema Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SQL Usar SQL em aplicações Nas aplicações que acedem a bases e dados as instruções

Leia mais

Unidade III - BD Relacional

Unidade III - BD Relacional Structured Query Language (SQL) Conceitos Iniciais Álgebra Relacional - muito formal Cálculo Relacional de Tupla SEQUEL (Structured English QUEry Language) IBM - Sistema R SQL-86 SQL-92 SQL-3 102 Structured

Leia mais

Hugo Pedro Proença, 2007

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

Leia mais

Bases de Dados 2007/2008. Aula 9

Bases 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 mais

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento.

CONCORRÊNCIA. Buscando aumentar os níveis de concorrência redução da espera em detrimento do isolamento, a SQL definiu alguns níveis de isolamento. CONCORRÊNCIA 1. Introdução O termo concorrência se refere ao fato de que os SGBDs em geral permitem que muitas transações tenham acesso ao mesmo banco de dados ao mesmo tempo. Em um sistema desse tipo,

Leia mais

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

SQL 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 mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro ! Transact-SQL (T-SQL) Extensão ao SQL Permite controlo do fluxo de execução Permite comandos DDL (contrariamente ao PLSQL) T-SQL combina: poder de manipulação de dados

Leia mais

Bases de Dados 2007/2008. Aula 8

Bases de Dados 2007/2008. Aula 8 Bases de Dados 2007/2008 Aula 8 1. T-SQL 2. VARIÁVEIS 3. CURSORES 4. PROCEDIMENTOS 5. 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 mais

Tarefa Orientada 20 Cursores

Tarefa Orientada 20 Cursores Tarefa Orientada 20 Cursores Objectivos: Declarar cursores Utilizar cursores Utilizar funções do sistema para trabalhar com cursores Actualizar dados através de cursores Um cursor é um objecto da base

Leia mais

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos

Introduçã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 mais

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta

Leia mais

SQL 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 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 mais

Bases 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. 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 mais

Os comandos SQL utilizados nas aulas práticas e mostrados aqui foram feitos num interpretador de comandos: psql

Os comandos SQL utilizados nas aulas práticas e mostrados aqui foram feitos num interpretador de comandos: psql Bases de Dados PostgreSQL e Php Transacções Joins, agregações, vistas P. Serendero, 2011 1 PostgreSQLe Php: transacções Os comandos SQL utilizados nas aulas práticas e mostrados aqui foram feitos num interpretador

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 DISTRIBUÍDOS e DATAWAREHOUSING

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

Leia mais

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo

CONCORRÊNCIA. 1. Introdução. Recursos exclusivos. Não necessita controle. Abundância de recursos compartilhados. Controle necessário mas mínimo CONCORRÊNCIA 1. Introdução Recursos exclusivos Não necessita controle Abundância de recursos compartilhados Controle necessário mas mínimo Harmonia, provavelmente não haverá conflito Recursos disputados

Leia mais

Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3

Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3 ÍNDICE o -INTRODUÇÃO Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3 0.5 Sistemas Utilizados 6 0.5.1 Access 2003 (Microsoft)

Leia mais

PL/pgSQL por Diversão e Lucro

PL/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

Triggers e mais... Instituto Militar de Engenharia IME 1o. Semestre/2005 Triggers Propósito mais amplo que restrições Restrições onde se explicita o evento Regras event-condition-action (ECA) Eventos:

Leia mais

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 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 mais

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

Banco 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 mais

Bases de Dados Distribuídas

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

Leia mais

EXAME DE 1ª ÉPOCA Semestre de Verão 2004/2005 20 Junho 2005 duração: 2h30m

EXAME DE 1ª ÉPOCA Semestre de Verão 2004/2005 20 Junho 2005 duração: 2h30m ISEL DEETC SSIC EXAME DE 1ª ÉPOCA Semestre de Verão 2004/2005 20 Junho 2005 duração: 2h30m Introdução aos Sistemas de Informação Engenharia Informática e Computadores Ano Lectivo: 2004 / 2005 2º Sem. Docente:

Leia mais

DO 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 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 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

SGBD. Funções Básicas de um SGBD

SGBD. Funções Básicas de um SGBD Definição Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco dados. Funções básicas Métodos acesso Integrida Semântica Segurança Concorrência

Leia mais

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

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

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

Leia mais

Controle de transações em SQL

Controle de transações em SQL Transações Controle de transações em SQL Uma transação é implicitamente iniciada quando ocorre uma operação que modifica o banco de dados (INSERT, UPDATE ou DELETE). Uma transação pode terminar normalmente

Leia mais

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010 BANCO DE DADOS: SQL UERN - Universidade do Estado do Rio Grande do Norte. Departamento de Ciências da Computação. 27 de janeiro de 2010 índice 1 Introdução 2 3 Introdução SQL - Structured Query Language

Leia mais

Introdução ao SQL. Aécio Costa

Introduçã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 mais

Sistemas de Informação

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

Leia mais

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

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

Leia mais

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados

INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Número: Nome: 1 -------------------------------------------------------------------------------------------------------------- INSTITUTO SUPERIOR TÉCNICO Administração e Optimização de Bases de Dados Exame

Leia mais

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso):

TRANSAÇÕES. Considerando que estes comandos fazem parte de uma TRANSAÇÃO (veremos como indicar isso): TRANSAÇÕES 1. Introdução Transação Uma transação é uma unidade lógica de trabalho (processamento), formada por um conjunto de comando SQL, que tem por objetivo preservar a integridade e a consistência

Leia mais

Processamento de Transações

Processamento de Transações UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Processamento de Transações Carlos Eduardo Portela Serra de Castro * Processamento de Transações Introdução Definição Problemas de consistência

Leia mais

Gerenciamento de Transações. Banco de Dados. Gerenciamento de Transações. Gerenciamento de Transações. Gerenciamento de Transações

Gerenciamento de Transações. Banco de Dados. Gerenciamento de Transações. Gerenciamento de Transações. Gerenciamento de Transações Banco de Dados Fernando Fonseca Ana Carolina Mono-usuário Multi-usuário Um dos critérios de classificação de um SGBD: NÚMERO DE USUÁRIOS que podem acessar o sistema concorrentemente Conceito de Multi-

Leia mais

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

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

Leia mais

Bibliografia Relembrando Conceitos

Bibliografia Relembrando Conceitos Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Aula 07 - Gerenciamento de transações Objetivos 1. Compreender a necessidade do uso das transações; 2. Entender

Leia mais

trigger insert, delete, update

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

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco 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 mais

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

COMPETÊ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 mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade 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 mais

Faculdade 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 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 mais

Formação Oracle Completa

Formação Oracle Completa PROPOSTA COMERCIAL Formação Oracle Completa Proposta PR140505 140505-01 5 de Maio de 2014 05/05/14 Dextraining Treinamentos em TI Página 1 de 14 1 A Dextraining A Dextra foi fundada em 1995, já com a missão

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

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

BD SQL Server. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04 BD SQL Server SGBD SQL Server Licenciatura em Engenharia Informática e Computação Bases de Dados 2003/04 BD SQL Server Criação da Ligação ao SGBD Entrar no Microsoft SQL Server / Enterprise Manager Criar

Leia mais

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

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

Leia mais

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

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

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

Oracle 10g: SQL e PL/SQL

Oracle 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 mais

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Faculdade INED Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan 1 Unidade 2 Imagem: BARBIERI, Carlos. 2

Leia mais

Logado no OracleXE vamos acessar a opção:

Logado no OracleXE vamos acessar a opção: Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos

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

FUNCTION ) RETURNS INTEGER AS $$ DECLARE

FUNCTION ) RETURNS INTEGER AS $$ DECLARE PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos

Leia mais

Bancos de Dados I 2013/02. Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva

Bancos de Dados I 2013/02. Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Bancos de Dados I 2013/02 Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Visão Geral/Revisão ACID l Atomicidade: Gerenciador de transações l Consistência=controle concorrência/commit

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

CICS Resumo. Acerca deste resumo: Introdução (1-2) Arquitectura (3-4)

CICS Resumo. Acerca deste resumo: Introdução (1-2) Arquitectura (3-4) CICS Resumo Acerca deste resumo: Este é o resumo da matéria estudada para apresentar o sistema IBM CICS, o monitor transaccional mais utilizado. Cada secção diz respeito a um conjunto de acetatos que são

Leia mais

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

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

Leia mais

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

PostgreSQL. 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 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 mais

Módulo I: Processamento de Transações. (Aulas 1 e 2) Clodis Boscarioli

Módulo I: Processamento de Transações. (Aulas 1 e 2) Clodis Boscarioli Módulo I: Processamento de Transações (Aulas 1 e 2) Clodis Boscarioli Agenda: Introdução: Apresentação da disciplina; Leitura do Plano de Ensino; Conceito de transação; Estados de uma transação; Teoria

Leia mais

PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com

PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com PostgreSQL o SGBD das 1001 linguagens Diogo Biazus diogob@gmail.com Um dos grandes diferenciais do PostgreSQL em relação à maioria dos outros sistemas de bancos de dados é a presença de diversas linguagens

Leia mais

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL)

ROTEIRO. A Linguagem SQL (I parte) CEFET.PHB - PI Prof. Jefferson Silva. As partes da linguagem SQL. A Linguagem de Definição de Dados (SQL-DDL) CEFET.PHB - PI Prof. Jefferson Silva SQL (MySql) ROTEIRO I PARTE - INTRODUÇÃO AO SQL COMANDOS E SUAS PARTES DA LINGUAGEM SQL II PARTE ADMINSTRAÇÃO DE BANCO DE DADOS UTILIZANDO MYSQL PRINCIPAIS INSTRUÇÕES

Leia mais

Procedimentos armazenados

Procedimentos armazenados Procedimentos armazenados Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Material da Profª Maria Lígia B. Perkusich Procedimentos armazenados (i) Definição Um procedimento armazenado (stored procedure)

Leia mais

SQL (Structured Query Language)

SQL (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 mais

Laborató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 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 mais

Dicas de Projeto Lógico Relacional

Dicas de Projeto Lógico Relacional Dicas de Projeto Lógico Relacional O que deve ser especificado? mapeamento do esquema conceitual definição das tabelas e chaves justificativas de mapeamento (se necessário) restrições de integridade (RIs)

Leia mais

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é 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 mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

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 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 mais

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Visões. Definição de Visões

Visões. Definição de Visõ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 mais

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

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

Leia mais

Histórico de revisões

Histórico de revisões Apostila 3 Histórico de revisões Data Versão Descrição Autor 30/09/2011 1.0 Criação da primeira versão HEngholmJr CONTEÚDO Exclusão de registros Consultas por Dados de Resumo Group by / Having Funções

Leia mais

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server

Leia mais

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

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

Leia mais

SQL: Definição de tabelas, Modificações à Base de Dados

SQL: 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 mais

MANUAL INSTALAÇÃO WEB SERVICE

MANUAL INSTALAÇÃO WEB SERVICE MANUAL INSTALAÇÃO WEB SERVICE Recebimento de dados pelo Hospital Versão 1.1 2/9/2014 Contato suporte@gtplan.com.br Índice Introdução... 2 Requerimentos para instalação do Web Service... 2 Instalação...

Leia mais

Sistemas de Informação

Sistemas 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

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE Formando: Dyckson Dyorgio Dolla Orientador: Prof. Everaldo Artur Grahl Julho / 2001 ROTEIRO DA

Leia mais

Linguagem PL/SQL e Triggers

Linguagem PL/SQL e Triggers TECNOLOGIA DE BASES DE DADOS Linguagem PL/SQL e Triggers António Manuel Silva Ferreira UNIVERSIDADE DE LISBOA FACULDADE DE CIÊNCIAS DEPARTAMENTO DE INFORMÁTICA asfe@di.fc.ul.pt Sumário Linguagem PL/SQL

Leia mais

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS No Instituto Federal do Paraná tounou-se necessário o armazenamento de certas informações para controle de pessoal. Para armazenar tais dados é necessário saber que:

Leia mais

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Programação SQL. Manipulação de Dados. DML Data Manipulation Language Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais