Bases de Dados. PostgreSQL, MySQL e Php Transações. P. Serendero,

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

Download "Bases de Dados. PostgreSQL, MySQL e Php Transações. P. Serendero, 2011-13"

Transcrição

1 Bases de Dados PostgreSQL, MySQL e Php Transações P. Serendero,

2 PostgreSQL e Php: transações Os comandos SQL utilizados nalgumas aulas práticas e mostrados aqui foram feitos num interpretador de comandos: >psql. O prompt do Mysql: >mysql. Exemplos tirados da Web Para desenvolver aplicações é preciso inserir os comandos de SQL na linguagem de programação escolhida. Operandos SQL "Embebidos" na linguagem de app. Neste módulo mostramos como fazer chamados sql desde a linguagem Php

3 PostgreSQL e Php: transações O Php é uma linguagem interpretada. scripting language PHP, é a sigla de Hypertext Preprocessor, Lerdorf 1995 Uma linguagem open-source para utilização geral, especialmente adaptada para desenvolvimento Web Pode ser embebida em HTML. Uma linguagem que funciona no lado do servidor Interpretada no web server com um processador A sintaxe vem de C, Java, e Perl O principal objetivo desta linguagem é permitir escrever páginas web dinamicamente geradas Manual.

4 PostgreSQL e Php: transações scripting language: uma linguagem de programação que permite o controlo de uma ou mais aplicações Os chamados a SQL são interpretados previamente por um pre-processador Consultar o Manual do PostreSQL: Programer s Guide Client Interfaces Em php existem extensões do PostgreSQL. Incluem sql embebido Ver /

5 PostgreSQL e Php: transações No MySQL consultar: Ler OBRIGATORIAMENTE 1) introdução: 2) Principais características:

6 PostgreSQL e Php: transações ANTES de utilizar a BD é preciso abrir. No fim devemos fechar Abrir o servidor de base de dados <?php //php embebido em html include '/dir1/dir11/bibliotecas/biblio-1.php'; $db = dbconnect(); //ligar a bd de dcbm if (!$db) { printf("<p>erro ao abrir a Base de Dados. Contactar o Administrador da BD :).</p> \n"); exit(); } pg_close($db); // fechar a bd no fim?>

7 PostgreSQL e Php: transações <?php function dbconnect() // { $hostname= "localhost"; $db_name= nome-bd"; $db_user = postgres"; $user_psw= lasdflakjasdfj"; $connection_string ="host=$hostname dbname = $db_name user =$db_user password = $user_psw"; $db = pg_connect($connection_string); // abrir a BD PostgreSQL desde php if (!$db) { printf("<p> Não há ligação com a base de dados. Ensaiar mais tarde. </p>\n"); exit(); } return $db; }?>

8 MySQL e Php: open DB Criando uma nova conexão com a Base de Dados: mysqli_connect(host, username, password, dbname) //criar a conexão $conexao=mysqli_connect("localhost","paula","zyx123","minha_db"); // verificar a conexão if (mysqli_connect_errno($conexao)) { echo "Erro na conexão com a BD: ". mysqli_connect_error(); }?> BD: SEMPRE VERIFICAR SUCESSO DAS INSTRUÇÕES

9 MySQL e Php: close DB Fechando uma conexão existente: Várias BD //criar a conexão $conexao=mysqli_connect("localhost","paula","zyx123","db1"); // verificar a conexão Este PC if (mysqli_connect_errno($conexao)) { echo "Erro na conexão com a BD: ". mysqli_connect_error(); } mysqli_close($conexao);?> //fechamos a BD mysqli = instruções melhoradas para o php 5.0

10 PostgreSQL e Php: interrogar $OK = pg_query ($db, $instruçao-sql); Executa o query indicado na string $instruçao-sql na base de dados indicada na ligação prévia a base de dados representada aqui pela variável $db Em caso de erro, devolve NULL (pode-se verificar sempre var $OK) Pormenores do erro se podem encontrar na função pg_last_error() se a ligação a bd era válida O primeiro parâmetro é opcional, mas se recomenda incluir Atenção: não utilizar acentos ou outros nos nomes das variáveis

11 PostgreSQL e Php: SELECT if ($nif-tripulante) { $query_tripulante = "SELECT * FROM tripulante WHERE nif = $nif-tripulante "; $res = pg_query($conexao, $query_tripulante); if ($res) { $c = pg_fetch_array($res); echo $c[0]. " <- Nome\n"; echo $c[1]. " <- Morada\n"; } else error pg_fetch_array Carrega um tuplo como um array. para referenciar os elementos do array, podem-se utilizar índices ou os nomes dos atributos da tabela

12 PostgreSQL e Php: SELECT function valida_chave($db, $tabela, $campo, $chave) { // $instr = "SELECT * FROM $tabela WHERE $campo = '$chave' "; $id = pg_query($db, $instr); $row = pg_fetch_row($id); if ($row[0]!= $chave) return 0; else return 1; } // pg_fetch_row: semelhante a pg_fetch_array só que apenas refere os elementos utilizando índices Isto é, devolve um arranjo numerado com índices

13 PostgreSQL e Php: SELECT // function get_nome_disciplina($db, $id_disciplina) { $query = "SELECT * FROM grupo_curricular WHERE id = '$id_disciplina' "; $resultado = pg_query($db, $query); if ($resultado) { $r = pg_fetch_array($resultado); return $r['nome']; } else return NULL: } //

14 MySQL e Php: SELECT <?php $nome = 'laura'; $apelido = 'gomes'; $consulta = sprintf("select nome, apelido, morada, idade FROM aluno WHERE nome='%s' AND apelido='%s'", mysql_real_escape_string($nome), mysql_real_escape_string($apelido)); // Executar a pesquisa $resultado = mysql_query($consulta); <?php mysql_real_escape_string() função da biblioteca de MySQL, que antepõe barras invertidas aos seguintes caracteres: \x00, \n, \r, \, ', " e \x1a. Se os dados a inserir são binários, sempre deve ser utilizada. Mais segura para os dados enviados ao servidor para consultas

15 // continuando MySQL e Php: SELECT... $resultado = mysql_query($consulta); (mysql_query obsoleta desde o Php Utilizar mysqli_query) // Comprobar o resultado, utilizado para depurações if (!$resultado) { $mensajem = 'Consulta não válida: '. mysql_error(). "\n"; die($mensagem); } else $mensajem = 'Consulta feita: '. $consulta;... Função die(): imprime uma mensagem e termina o script X

16 MySQL_fetch_array() // Utilizando os dados extraidos da BD: //Utilizar alguma das funções de resultados do mysql // Consultar: mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc. while ($fila = mysql_fetch_array($resultado, MYSQL-ASSOC)) { echo $fila['nome']; echo $fila['apelido']; echo $fila['morada']; echo $fila['idade']; } // no fim liberamos os recursos utilizados, mysql_free_result($resultado);?> mysql_fetch_array : um arranjo com os dados do query devolvidos em $ resultado. Tipo resultado devolvido: MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH.

17 MySQL_fetch_array() <?php mysql_connect("localhost", "user1l", "meu-passw") or //ligar ao server die("não foi possível conectar: ". mysql_error()); mysqli_select_db("minha-bd"); //ligar a bd que precisamos $resultado = mysqli_query("select id, nombre FROM mitabla"); while ($fila = mysql_fetch_array($resultado, MYSQL_NUM)) { printf("id: %s Nombre: %s", $fila[0], $fila[1]); } mysqli_free_result($resultado); //libera toda a memória de $resultado?>

18 INSERIR tuplos dinamicamente: HTML <html> Iniciar um bloco de html <head> <title>deei-ualg</title> <link rel="shortcut icon" href= /deei/icon.ico" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> <form name = utilizador" action= validar-user.php" method="post" enctype="application/x-www-form-urlencoded"> Nome Utilizador: <INPUT TYPE = "text" value="" name ="usuario /> Password: <INPUT TYPE = PASSWORD value ="" name="passwd /> <p> <input type="submit" value ="Validar" name = "go"></p> </form> </html> Após submit, HTML carrega todos os dados de <input> no array $_POST Muito importante: POST e action: o nome da função php a executar

19 INSERIR tuplos dinamicamente ***** este é o programa validar-user.php <?php $usuario = $_POST['usuario']; $passw = $_POST['passw']; $nivel = $_POST['nivel']; $data = $_POST['data']; date_default_timezone_set("europe/lisbon"); $data = date(); if (verifica_utilizador($db, $usuario)) //verifica se utilizador existe show_error ("Já existe um usuario com este nome. Favor trocar por um outro.",1); $sqlcmd = "INSERT INTO utilizador ( usuario, passw, data) VALUES ('$usuario', '$passw', '$data')"; $OK = mysqli_query($db, $sqlcmd); pg_close($db); //inserir registo na bd. //após inserção, fechar a BD if (!$OK) show_error(1); else mandar_aviso("novo Utilizador(a): $usuario - criado(a)", 4);?>

20 PostgreSQL e Php: UPDATE SQL: UPDATE utilizador SET passw = D67N9#%BB, data = 11/ , WHERE usuario = patricio ; Php $usuario = $_POST['usuario']; $passw1 = $_POST['passw1']; $passw2 = $_POST['passw2']; if ($passw1!= passw2) show_error( password incorrecto. Repetir sff",1); $cmd = "UPDATE utilizador SET passw ='$passw1', WHERE usuario = '$usuario' "; If ( pg_query($db, $cmd)) echo user alterado com sucesso ;

21 PostgreSQL e Php: APAGAR SQL DELETE FROM climatologia WHERE city = London ; Php function apagar_registo($db, $bi) { $apagar = "DELETE FROM socio WHERE bi = '$bi'"; $OK = pg_query($db, $apagar); if ($OK) return("registo sócio nº BI: $bi apagado. \n"); else return( erro: Registo socio nº BI: $bi NÃO apagado\n");

22 Gestão de transações nas BD

23 Gestão de transações nas BD Uma Base de Dados tem sempre acessos concorrentes: muitos utilizadores fazendo insert, update, delete simultaneamente Para cada utilizador, o SGBD abre um novo processo. Uma nova sessão até este sair da BD. (fechar) Cada operação que modifica a BD é uma transação Como assegurar a integridade e coerência da BD? Como assegurar a recuperação da BD quando há um crash? Exemplos críticos: reservas bilhetes online, bancos, bolsa

24 Gestão de transações nas BD Recuperação (recovery) Fundamentalmente significa poder recuperar a BD a um estado correcto após algum falhanço que deixa a BD num estado não correcto A chave da recuperação: a redundancia. Recuperamos a partir de informações armazenadas previamente fazendo redundancia da BD A gestão das transações de qualquer BD, relacional ou não, exige a capacidade de recuperação.

25 Gestão de transações na BD Uma transação é uma sequência de operações SQL: uma unidade lógica de trabalho Esta sequência é tratada como um todo Por defeito, uma instrução de SQL é uma transação As transações obedecem as propriedades ACID": Atomicity Consistency Isolation Durability (Ver na introdução)

26 Gestão de transações na BD Transações (comandos no MySQL) START TRANSACTION [WITH CONSISTENT SNAPSHOT] BEGIN [WORK] Inicia uma transação COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE] Termina uma transação. BD actualizada. Mudança é permanente ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE] Termina uma transação. BD NÃO actualizada. ( undo ) SET autocommit = {0 1} Coloca o commit em piloto automático Por defeito MySQL utiliza o modo 1: commit automatico

27 Gestão de transações na BD O que se passa quando o acesso é concorrente e a um mesmo registo da BD? Por exemplo, a sua conta bancária: Você anda a tirar 30 da sua conta, mas o seu pai ainda não fez depósito também na sua conta Como deveríam acontecer as coisas? Qual transação primeiro? A conta do seu pai é actualizada depois de lhe depositar os 30 Que se passa se a sua irmã sabe a sua conta e está intentar retirar 20 no mesmo momento que você pretende levantar os 30 que precisa? Que se passa se a BD do banco crasha no meio disto tudo?

28 Gestão de transações na BD Uma transação pode envolver uma sequência de operações na BD Por exemplo, você quer transferir 100 da conta 120 para a conta 350 O propósito final do transaction manager da BD e transformar o estado correcto da BD antes da transação, num outro estado correcto da BD após a operação Em pseudo código queremos algo assim: ->

29 BEGIN TRANSACTION Gestão de transações na BD 1) UPDATE conta 120. saldo-final = saldo-final 100; Se operação não funcionar ir para UNDO; 2) UPDATE conta 350. saldo-final = saldo-final + 100; Se operação não funcionar ir para UNDO; COMMIT Ir para TERMINAR; UNDO: ROLLBACK; TERMINAR: RETURN;

30 BEGIN TRANSACTION Gestão de transações na BD 1) UPDATE conta 120. saldo-final = saldo-final 100; Se operação não funcionar ir para UNDO; 2) UPDATE conta 350. saldo-final = saldo-final + 100; Se operação não funcionar ir para UNDO; COMMIT Ir para TERMINAR; UNDO: ROLLBACK; TERMINAR: RETURN; O objectivo como se pode ver, é claramente não permitir efectuar só um update. Ou os dois são feitos, ou nada é feito. Caso contrário a BD ficava num estado incorrecto Esta é a propriedade de atomicidade das transações

31 Gestão de transações na BD A operação COMMIT representa uma transação feita com sucesso. A BD está agora novamente num estado correcto. A operação ROLLBACK representa o contrário. Algo correu mal e a BD poderia estar num estado incerto Como é possível fazer desfazer um update, ou refazer a operação iniciada se no meio o sistema falhou? LOG RECORD: o sistema leva conta sequencialmente de todas as transações dum periodo de tempo.(before-after images) Quando o sistema recuperar, pode desfazer ou refazer as operações que ficaram pendentes

32 Atomicidade: Gestão de transações na BD Sistema deve garantizar execução de atomicidade de instruções individuais. Especialmente no modelo relacional onde as operações são feitas a nível de vários tuplos de uma vez A operação não pode falhar no meio e deixar incorrecta a BD: uns tuplos actualizadas e outros não Ou tudo feito ou nada feito

33 Gestão de transações na BD Recovery (Recuperação) Uma transação não só representa uma unidade de trabalho: representa igualmente uma unidade de recuperação O SGBD deve garantizar poder recuperar a BD no seu estado correcto original após um falhanço no meio duma transação Update primeiro feito nos buffers da RAM. O sistema garantiza que após COMMIT vai actualizar fisicamente as tabelas envolvidas Portanto se houver crash, não é necessário fzer UNDO Caso houver um crash após COMMIT e antes de actualizar fisicamente a BD, como recuperar LOG FILE e write-ahead log rule: Primeiro as transações são escritas no ficheiro log. Logo começa a transação. Este log file permete refazer operações pendentes após o crash

34 Gestão de transações na BD Dois tipos de categorias de falhanço do sistema: Falhas do sistema afectando todas as transações em progresso (falta energia por exemplo): soft crash Falhas dos recursos (falha do disco duro). Hard crash Destroi parcial ou totalmente a BD Em ambos os casos os conteúdos da RAM perdem-se: os buffers utilizados pelo SGBD Neste contexto, quais transações UNDO? Quais voltar a fazer? O SGBD utiliza checkpoint records: a cada intervalo após algumas transações feitas, o sistema faz uma marca no tempo para indicar que até alí, tudo bem

35 Gestão de transações na BD tr a n s a ç o e s Tempo checkpoint falha sistema Como resolve o sistema o problema destas transações após restart? Está claro que transações 3 e 5 tem que ser UNDO Transações 2 e 4 devem ser refeitas novamente (buffers da RAM) Tomada do livro do J.C. Date

36 Gestão de transações na BD O sistema funciona com 2 listas: UNDO e REDO Lista UNDO igual a todas as transações do ultimo checkpoint Lista REDO vazia Começar verificar o sistema após o checkpoint Se o registo de log encontra BEGIN TRANSACTION coloque esta transação na lista de UNDO Se o registo de log encontra uma transação COMMIT, mover a transação da lista de UNDO para a lista de REDO Quando terminar verificar o registo de log, as listas identificam transações 3 e 5 na lista de UNDO e 2 e 4 na lista de REDO

37 Gestão de transações na BD Numa operação de inserção fazer LOCK na tabela: BEGIN WORK; LOCK TABLE tripulante IN SHARE MODE; SELECT id_tripulante FROM tripulante WHERE nome = Alberto Martins Lopes ; INSERT INTO tripulante VALUES ( _id_, ); COMMIT WORK; Isolar a tabela com a chave primária no modo SHARE, quando se pretende actualizar uma tabela onde ela é chave estrangeira Atenção: no standard SQl não há lock table set transaction

38 Gestão de transações na BD Numa operação de apagar fazer LOCK na tabela com a chave primária: BEGIN WORK; LOCK TABLE casa IN SHARE ROW EXCLUSIVE MODE; DELETE FROM descricao_casa WHERE id IN (SELECT id FROM casa WHERE nivel < 5); DELETE FROM casa WHERE nivel < 5; COMMIT WORK;

39 Gestão de transações na BD Exemplo: Na conta do seu pai num depósito de 30 para sim, o banco terá as instruções: BEGIN WORK; UPDATE conta SET saldo = saldo - 30 WHERE numero = ; //a conta do seu pai UPDATE conta SET saldo = saldo + 30 WHERE numero = ; // a sua conta COMMIT WORK; Se algo correr mal, o dinheiro não será posto na sua conta, mas também não será levantado da conta do seu pai

40 Gestão de transações na BD Os utilizadores (programas) só vem resultados de transações que fizeram COMMIT E que acontece se no meio da transação do seu pai, a sua mãe que também tem acesso a conta do seu pai fazer uma transação e o programa de aplicação no processo dela utiliza igualmente o COMMIT? SQL tem 4 níveis de isolamento das transações: 1. SERIALIZABLE 2. REPEATABLE READ 3. READ COMMITTED 4. READ UNCOMMITTED Compete ao programador especificar o nível de isolamento pretendido

41 Gestão de transações na BD Nível: 1.SERIALIZABLE 2. REPEATABLE READ 3. READ COMMITTED 4. READ UNCOMMITTED Escrevemos: SET TRANSACTION ISOLATION LEVEL <nível>

42 SERIALIZABLE Gestão de transações na BD Se o programa da sessão do seu pai está a correr com o nível de isolamento SERIALIZABLE, só vai ver o seu saldo final depois a sessão da sua mãe que entrou pelo meio terminar pela sua vez. No meio delas não vai ver nada diferente do estado anterior da sua conta antes do inicio destas duas transações feitas por dois processos concorrentes

43 Gestão de transações na BD READ COMMITTED Neste caso, é possível ver o estado parcial da conta após a primeira destas transações serem tratadas REPETEABLE READ semelhante ao anterior a diferencia é que se um tuplo é lido uma vez, então terá de ser forçosamente devolvido se a leitura for repetida

44 Gestão de transações na BD READ UNCOMMITTED Se a transação utilizar esta opção então pode ler os dados transitórios que possam ter sido escritos por outras transações Por exemplo, poderá ler um saldo inferior na conta, mesmo se a transação concorrente que levantava dinheiro crashar no meio e a aplicação fazer um ROLLBACK

45 Gestão de transações na BD No caso do PostgreSQL só existem as opções SERIALIZABLE e READ COMMITTED SERIALIZABLE Oferece um maior nível de isolamento. Faz como se as transações tivessem sido feitas sequencialmente e não concorrentemente. READ COMMITTED dá menos isolamento, mas é mais eficiente de implementar pelo SGBD. Pretende manter a consistência dos dados Ler sobre concurrency control no manual do PostreSQL

46 Gestão de transações fim do módulo

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

BANCO DE DADOS WEB. Professor Luciano Roberto Rocha

BANCO DE DADOS WEB. Professor Luciano Roberto Rocha BANCO DE DADOS WEB 1 CONECTANDO-SE AO MYSQL VIA PHP Professor Luciano Roberto Rocha Como conectar MySQL via PHP 2 O MySQL é mais popular SGBD entre os desenvolvedores PHP. Existem várias funções do PHP

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

Controle de Concorrência. Banco de Dados II Profa. Késsia R. C. Marchi

Controle de Concorrência. Banco de Dados II Profa. Késsia R. C. Marchi Controle de Concorrência Banco de Dados II Profa. Késsia R. C. Marchi Transação Transação é uma unidade lógica de trabalho, envolvendo diversas operações de bancos dados. C. J. Date Uma transação inicia-se,

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

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

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

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs? BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Um Banco

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 2

PHP INTEGRAÇÃO COM MYSQL PARTE 2 ABRIR CONEXÃO PHP INTEGRAÇÃO COM MYSQL PARTE 2 Professor: Leonardo Pereira Email: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si Antes de podermos acessar informações

Leia mais

PHP (Seções, Cookies e Banco de Dados)

PHP (Seções, Cookies e Banco de Dados) PHP (Seções, Cookies e Banco de Dados) André Tavares da Silva andre.silva@udesc.br Seções Basicamente, as seções são métodos que preservam determinados dados ativos enquanto o navegador do cliente estiver

Leia mais

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. MySQL 101 Recapitulando Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas. As bases de dados são úteis quando necessitamos

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

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET Programação para Internet I Aula 10 PHP: Trabalhando com Banco de Dados leticia@cafw.ufsm.br Acessando

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem PHP Mail() e BD @wre2008 1 Sumário Função mail(); Conexão com Banco de dados; @wre2008 2 Envio de e-mail O comando mail(): é a função do PHP para envio de e-mail.

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

13 Conectando PHP com MySQL 13.1 Introdução

13 Conectando PHP com MySQL 13.1 Introdução 13 Conectando PHP com MySQL 13.1 Introdução Agora que você já tem uma idéia básica de comandos MySQL, poderemos ver como a linguagem PHP pode interagir com este banco de dados através de inúmeras funçõ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

Internet e Programação Web

Internet e Programação Web COLÉGIO ESTADUAL PEDRO MACEDO Ensino Profissionalizante Internet e Programação Web 3 Técnico Prof. Cesar 2014 1. PHP e MySQL O MySQL é o gerenciador de banco de dados mais usado com o PHP. Existem muitas

Leia mais

COMPONENTES DA BIBLIOTECA ZEOSLIB. Paleta Zeos Access no Lazarus. TZConnection

COMPONENTES DA BIBLIOTECA ZEOSLIB. Paleta Zeos Access no Lazarus. TZConnection COMPONENTES DA BIBLIOTECA ZEOSLIB Paleta Zeos Access no Lazarus TZConnection É o componente que estabelece a conexão com o banco de dados e possui a capacidade de manipular ou controlar transações. Todo

Leia mais

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL. Procuraremos mostrar os principais procedimentos para fazer um cadastro de registros numa base de dados MySQL utilizando a linguagem

Leia mais

PHP. SQL / MySQL Ligação a base de dados Selecção e visualização de registos Adicionar, Eliminar, Pesquisar e Editar registos

PHP. SQL / MySQL Ligação a base de dados Selecção e visualização de registos Adicionar, Eliminar, Pesquisar e Editar registos PHP SQL / MySQL Ligação a base de dados Selecção e visualização de registos Adicionar, Eliminar, Pesquisar e Editar registos Acesso a bases de dados com PHP 1.º - Captar os dados 2.º - Estabelecer a ligação

Leia mais

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

TECNOLOGIA WEG II PHP com SGBD MYSQL

TECNOLOGIA WEG II PHP com SGBD MYSQL TECNOLOGIA WEG II PHP com SGBD MYSQL Existem diversas formas de se acessar o SGBD Mysql para manipulação de dados por meio do PHP. Consulte o manual do PHP, em www.php.net ou http://www.php.net/manual/pt_br/,

Leia mais

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente

Leia mais

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas; Conjunto de informações relacionadas entre si; Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas; Conjunto de Tabelas onde cada linha é um vetor de dados específico;

Leia mais

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

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

Leia mais

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

Desenvolvimento de Sistemas Web Prof. Leandro Roberto. Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete)

Desenvolvimento de Sistemas Web Prof. Leandro Roberto. Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete) Desenvolvimento de Sistemas Web Prof. Leandro Roberto Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete) JavaScript Eventos Alguns eventos de uma página HTML podem ser interceptados e programados

Leia mais

PHP e MySQL. Programação de Servidores Marx Gomes Van der Linden. http://marx.vanderlinden.com.br/

PHP e MySQL. Programação de Servidores Marx Gomes Van der Linden. http://marx.vanderlinden.com.br/ PHP e MySQL Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ PHP e MySQL PHP possui 3 interfaces para se comunicar com um banco de dados MySQL. O conjunto de funções

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

Transações Seguras em Bancos de Dados (MySQL)

Transações Seguras em Bancos de Dados (MySQL) Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o

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

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

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

Programação com Acesso a Banco de Dados

Programação com Acesso a Banco de Dados Campus Ipanguaçu Curso: Técnico em Informática Programação com Acesso a Banco de Dados AULA 17 ACESSO A BANCO DE DADOS COM JDBC PROF.: CLAYTON M. COSTA 2 011.2 Introdução Aplicação + Banco de Dados: Funcionalidade

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Treinamento em PHP. Aula 7. Ari Stopassola Junior stopassola@acimainteractive.com

Treinamento em PHP. Aula 7. Ari Stopassola Junior stopassola@acimainteractive.com Treinamento em PHP Aula 7 Ari Stopassola Junior stopassola@acimainteractive.com Banco de Dados Robustes no armazenamento Segurança, velocidade e facilidade na manipulação dos dados Controle e escalabilidade

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

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO

SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO Este é um sistema de controle de produtos, onde o usuário irá entrar com o login e a senha, e se ele for um usuário cadastrado na tabela usuários

Leia mais

PHP. Hypertext Pre-Processor

PHP. Hypertext Pre-Processor PHP Hypertext Pre-Processor O que é o PHP? Uma linguagem de scripting é uma linguagem cujo código não tem de ser compilado para ser executado! O código escrito é interpretado em tempo de execução para

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática Folha Prática 0 : PHP - Interligação com Base de Dados Pode encontrar informação adicional sobre PHP e MySql em http://www.php.net/manual/en/ e http://dev.mysql.com/doc/refman/.0/en/tutorial.html respectivamente.

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Bases de Dados. Parte VII Interface PHP ao MySQL

Bases de Dados. Parte VII Interface PHP ao MySQL Bases de Dados MI / LCC / LEG / LERSI / LMAT Parte VII Interface PHP ao MySQL 1 O Que é o PHP? O PHP é uma linguagem de programação especialmente desenhada para servidores web (server-side scripting language).

Leia mais

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011

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

PHP e MySQL Autenticação de Usuários

PHP e MySQL Autenticação de Usuários PHP e MySQL Autenticação de Usuários Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ Controle de Acesso A maioria das aplicações web envolve em algum ponto um mecanismo

Leia mais

Apresentação de REDES DE COMUNICAÇÃO

Apresentação de REDES DE COMUNICAÇÃO Apresentação de REDES DE COMUNICAÇÃO Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos MÓDULO VII Acesso a Bases de Dados via Web Duração: 50 tempos Conteúdos (1) Conceitos

Leia mais

Ambiente SQL: esquemas

Ambiente SQL: esquemas 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

Leia mais

Python Acessando o Banco de Dados MySQL

Python Acessando o Banco de Dados MySQL Python Acessando o Banco de Dados MySQL ANTONIO SÉRGIO NOGUEIRA PRESIDENTE PRUDENTE SP 2009 1 Sumário 1. Introdução...3 2. Interface MySQL...3 3.Instalando o MySQLdb...3 4.Verificando se o MySQL está instalado...4

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

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

Leia mais

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

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

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

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

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

O que são Bancos de Dados?

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

Leia mais

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A Módulo 18 Ferramentas de Desenvolvimento de Páginas Web Criar uma relação mestre-detalhe 1. Cria uma cópia da página «listaferram.php»

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

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

Programação web Prof. Wladimir

Programação web Prof. Wladimir Programação web Prof. Wladimir Linguagem PHP Cookie e Sessão @wre2008 1 Sumário Header; Cookie; Sessão; Exemplos. @wre2008 2 Header Esta função permite que um script php redirecione para outra página.

Leia mais

Desenvolvimento de Aplicações para Internet Aula 8

Desenvolvimento de Aplicações para Internet Aula 8 Desenvolvimento de Aplicações para Internet Aula 8 Celso Olivete Júnior olivete@fct.unesp.br na aula passada Orientação a Objetos Classes Objetos Construtores Destrutores 2 na aula passada Construtores

Leia mais

GUIA PHP com MYSQL Autor: Everton Mendes Messias

GUIA PHP com MYSQL Autor: Everton Mendes Messias PHP (Hypertext Preprocessor) : Linguagem de programação interpretada. Tags PHP: phpinfo(); Comentários: //, # - comentário de uma linha /* comentário de várias linhas */ GUIA PHP com MYSQL Autor: Everton

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

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

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

Capítulo 4. Programação em ASP

Capítulo 4. Programação em ASP Índice: CAPÍTULO 4. PROGRAMAÇÃO EM ASP...2 4.1 REGISTRAR...2 4.1.1 Códigos para configuração do objeto...2 4.1.2 Formulário para transferir dados da impressão digital...3 4.1.3 Código Javascript para registro

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

MIOLO 2.0 DAO. Ely Edison Matos ely.matos@ufjf.edu.br

MIOLO 2.0 DAO. Ely Edison Matos ely.matos@ufjf.edu.br MIOLO 2.0 DAO Ely Edison Matos ely.matos@ufjf.edu.br versão do documento: 1.3 16/05/2005 Índice DAO - Camada de abstração de acesso a dados...3 Configuração...3 Classes DAO...3 classe Database...5 classe

Leia mais

Leonardo Gresta Paulino Murta leomurta@gmail.com

Leonardo Gresta Paulino Murta leomurta@gmail.com Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no

Leia mais

Bases de Dados. Álgebra Relacional ou Como manipular uma BD SQL. P. Serendero, 2011-13

Bases de Dados. Álgebra Relacional ou Como manipular uma BD SQL. P. Serendero, 2011-13 Bases de Dados Álgebra Relacional ou Como manipular uma BD SQL P. Serendero, 2011-13 1 Álgebra Relacional Conjunto básico de operadores que tomam as relações como os seus operandos e devolvem uma relação

Leia mais

Interagindo com Banco de Dados

Interagindo com Banco de Dados Interagindo com Banco de Dados Até agora não falamos de banco de dados, pois gostaríamos prime iro de te preparar para o uso do banco de dados dentro do Framework MVC. Mas antes de falarmos do framework

Leia mais

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com + Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco

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

ETEC Dr. Emílio Hernandez Aguilar. Manual Simplificado: MySQL

ETEC Dr. Emílio Hernandez Aguilar. Manual Simplificado: MySQL ETEC Dr. Emílio Hernandez Aguilar Manual Simplificado: MySQL Franco da Rocha 2010 Informações Gerais O programa MySQL (R) é um servidor robusto de bancos de dados SQL (Structured Query Language Linguagem

Leia mais

Trabalho do Grupo Nº 3

Trabalho do Grupo Nº 3 UNIVERSIDADE KIMPA VITA ESCOLA SUPERIOR POLITÉCNICA DO UIGE DEPARTAMENTO DOS ASSUNTOS ACADÉMICO Trabalho do Grupo Nº 3 Caso prático Curso: Engenharia Informática Nível: 4º Ano Sala: 30 Orientado Por: Ano

Leia mais

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:

Leia mais

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo

Bases de Dados. Lab 1: Introdução ao ambiente. Figura 1. Base de dados de exemplo Departamento de Engenharia Informática 2012/2013 Bases de Dados Lab 1: Introdução ao ambiente 1º semestre O ficheiro bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo

Leia mais

FMH Mestrado Gestão do Desporto Sistemas de Informação

FMH Mestrado Gestão do Desporto Sistemas de Informação FMH Mestrado Gestão do Desporto Sistemas de Informação Ficha prática PHP/MySQL 2 Continuação da criação de uma base de dados em MySQL, com vários contactos e números de telefone. Tarefas: criar, alterar

Leia mais

PRO2511. MySQL databases Parte III. Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia de Produção

PRO2511. MySQL databases Parte III. Escola Politécnica da Universidade de São Paulo. Departamento de Engenharia de Produção PRO2511 MySQL databases Parte III 1 Instruções Objetivo da aula: entender como usar o MySQL a partir do PHP Listar Entrar com dados Alterar Apagar aula preparada a partir de um programa pronto baixá-lo

Leia mais

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

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

Leia mais

Bases de Dados 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

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. Lab 7: Desenvolvimento de aplicações com PHP

Bases de Dados. Lab 7: Desenvolvimento de aplicações com PHP Departamento de Engenharia Informática 2013/2014 Bases de Dados Lab 7: Desenvolvimento de aplicações com PHP 1º semestre Este lab é uma continuação dos anteriores. Se realizou os labs anteriores, a base

Leia mais

CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008

CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008 CONTROLE DE CONCORRÊNCIA EM BANCO DE DADOS: Estudo de Caso Microsoft SQL Server 2008 GERALDA SILVIA DE VASCONCELOS JARDIM 1 IREMAR NUNES DE LIMA 2 Resumo: Este artigo descreve a importância do mecanismo

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas Manual de padrões e convenções para desenvolvimento de sistemas PHP Versão Conteúdo 1.

Leia mais

Prof. Carlos Majer Aplicações Corporativas UNICID

Prof. Carlos Majer Aplicações Corporativas UNICID Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença

Leia mais

Curso de PHP. FATEC - Jundiaí

Curso de PHP. FATEC - Jundiaí Curso de PHP FATEC - Jundiaí Índices das Funções de acesso ao PostgreSQL pg_affected_rows -> > Retna o número n de registros afetados (linhas) pg_cancel_query -> > Cancela uma consulta (query( query) )

Leia mais

Programação para Android. Aula 08: Persistência de dados SQL

Programação para Android. Aula 08: Persistência de dados SQL Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente

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

RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT. Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende

RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT. Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende RESUMO CAPÍTULO 16 OVERVIEW OF TRANSACTION MANAGEMENT Prof.: Geovane Magalhães Alunos: Gabriela G. Martins Edmar R. S. de Rezende ÍNDICE ANALÍTICO 16.1 AS PROPRIEDADES ACID... 3 16.1.1 CONSISTÊNCIA E ISOLAMENTO...

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

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M JAVA Marcio de Carvalho Victorino 1 JDBC - Java Database Connectivity 2 1 JDBC conceito JDBC é uma API (Application Program Interface) para acesso a SGBD s (Sistemas Gerenciadores de Banco de Dados) relacionais

Leia mais