Banco de Dados para Web

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

Download "Banco de Dados para Web"

Transcrição

1 Banco de Dados para Web Profa. Dra. Ligia Flávia Antunes Batista 1

2 Tópicos da aula Stored procedures Triggers Índices, otimização Transações, concorrência Segurança 2

3 Stored procedure São programas armazenados no servidor Chamados de forma explícita para executar alguma lógica de manipulação de dados Podem retornar ou não algum valor Create function possui uma cláusula RETURNS Create procedure não possui 3

4 Sintaxe CREATE [DEFINER = { user CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic...] routine_body CREATE [DEFINER = { user CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic...] routine_body proc_parameter: [ IN OUT INOUT ] param_name type 4

5 Exemplo de procedure Chamada: call teste2('c', 1); 5

6 Restrições em stored procedures LOCK TABLES e UNLOCK TABLES. ALTER VIEW. LOAD DATA and LOAD TABLE. BEGIN [WORK] é entendido como início de um bloco BEGIN... END. Para iniciar uma transação neste contexto, use START TRANSACTION. 6

7 Triggers (gatilhos) Monitora mudanças no banco de dados Verifica condições e inicia ações Event-Condition-Action Rules Quando um evento ocorre, a condição é verificada; se for verdadeira, a ação é iniciada Transfere a regra de negócio para o SGBD 7

8 Trigger Para bancos de dados relacionais Padrão SQL; sistemas variam consideravelmente Possível uso: Manutenção de integridade Create Trigger name Before After Instead Of events [ referencing-variables ] [ For Each Row ] When ( condition ) action 8

9 Trigger Nenhum SGBD implementa o padrão exato Alguns desviam consideravelmente tanto na sintaxe quanto no comportamento MySQL Apenas Row-level Não há old/new table Apenas uma trigger por tipo de evento Problemas com encadeamento 9

10 Encadeamento: Erro de execução 10

11 Trigger Mysql Referência oficial CREATE [DEFINER = { user CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_body DDL, fica associada a uma tabela 11

12 Trigger Mysql trigger_time: Pode ser BEFORE or AFTER ativação antes ou depois da linha ser modificada. trigger_event: tipo de comando que ativa a trigger INSERT: disparado pelos comandos INSERT, LOAD DATA, e REPLACE UPDATE DELETE: comandos DELETE e REPLACE. DROP TABLE e TRUNCATE TABLE não ativam esta trigger Truncate: apaga todas as linhas de uma tabela Replace: extensão do Mysql, que pode ter o efeito apenas de insert ou também de delete se a PK já existe. 12

13 Old e new Pode-se usar as cláusulas OLD e NEW para se referir à linha que disparou a trigger; OLD.coluna refere-se a uma coluna da tabela existente antes de ser apagada ou atualizada NEW.coluna refere-se a uma coluna de uma nova linha a ser inserida ou de uma linha existente após ser atualizada Não são sensíveis ao caso 13

14 Corpo da trigger trigger_body: instruções a serem executadas quando a trigger é ativada Para vários comandos: BEGIN... END, que permitem o uso dos mesmos comandos de stored procedures Restrições em triggers:

15 Restrições em triggers Não são ativadas por ações de chave estrangeira (CASCADE) Caso de replicação baseada em linha não dispara trigger se o comando foi iniciado no mestre. Rep. Baseada em comando dispara trigger. Rep. Baseada em linha: propaga os valores alterados em cada linha Rep. Baseada em comando: repassa o comando que gerou a alteração 15

16 Restrições em triggers Comando RETURN não é permitido em triggers. Para sair de uma trigger imediatamente, deve-se usar o comando LEAVE Triggers não são permitidas em tabelas do banco mysql A trigger não detecta alterações nos metadados. A trigger opera nesse caso, com o que estava em cache, com metadados desatualizados. 16

17 Declare e Set Comando DECLARE: usado para definir variáveis em um programa local; DECLARE var_name [, var_name]... type [DEFAULT value] SET variable_assignment [, variable_assignment]... variable_assignment: user_var_name = expr [GLOBAL SESSION] system_var_name = = expr 17

18 SELECT INTO Resultados de consultas podem ser armazenados diretamente em variáveis ou pelo uso de cursor SELECT... INTO var_list Pode ser usado para gerar arquivo: SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table; Cursor: FETCH... INTO var_list. 18

19 if IF search_condition THEN statement_list [ELSEIF search_condition THEN statement_list]... [ELSE statement_list] END IF; 19

20 Exemplo A cada voto inserido na tabela votação, as colunas qtde_favor, qtde_contra e qtde_abstenções são atualizadas 20

21 Código 21

22 Exercício venda(nf, data, valor_total) itens_venda(cod, qtde, valor_item) Produto (cod, valor_unitario, descricao) Escreva 2 triggers: 1 para preencher a data atual ao inserir uma linha em venda e atribuir 0 ao valor_total 22

23 Exercício 2- Para calcular valor do item em itens_venda, buscando valor unitário em produto e multiplicando pela quantidade de itens_venda. Além disso, deve somar o valor_item de itens_venda com valor_total em venda. 23

24 Índices, Desempenho 24

25 Identificação do baixo desempenho Buscar consultas lentas Executar Profile/Explain Alterar consultas (reescrevê-las) Adicionar índices Adicionar tabelas sumário 25

26 Principais problemas Full table scans (no index) Pode ser corrigido com a criação de um índice na coluna que está sendo utilizada no where Temporary tables Filesort 26

27 Explain explain select g1.nome_col, sub.cont from coligacao g1, (select count(*) as cont, g.cod_coligacao as cod from congressista c, partido p, coligacao g where c.partido_cod_partido = p.cod_partido and p.coligacao_cod_coligacao = g.cod_coligacao group by g.cod_coligacao ) as sub where g1.cod_coligacao = sub.cod order by 2 limit

28 Detalhes do explain Tabelas são acessadas de cima para baixo Saída do explain Select Type SELECT, Union, Subquery Table Type Tipo de junção. Possible Keys Índices que o otimizador pode considerar Key = O índice que o otimizador escolheu 28

29 Detalhes do explain Ref qual coluna em qual tabela é referenciada pelo índice Rows Número de linhas verificadas para executar a consulta A multiplicação das linhas gera uma estimativa de custo da consulta 29

30 Custo 30

31 O que observar Uso de índices Coluna extra: Using filesort: para reordenar a tabela é varrida novamente Using temporary: cria uma tabela temporária para apresentar o resultado. Normalmente quando GROUP BY e ORDER by são usados com lista de colunas diferentes 31

32 Profile 32

33 Profile 33

34 Subconsulta SELECT (SELECT max(s1) FROM t2),... FROM t1 where mydate>now(); Substituir por join Outra alternativa: SELECT max(s1) FROM t2 FROM t1 where... 34

35 Desempenho Uso de INT em chaves primárias e em junções ao invés de VARCHAR Funções provocam maior lentidão 35

36 Funções 36

37 Funções 37

38 Tabelas sumário Muito usadas em data warehouse 38

39 39

40 40

41 41

42 Tabelas sumário Vantagens Significativamente mais rápidas Menor número de linhas Desvantagens Devem ser atualizadas continuamente Mais dados para armazenar 42

43 Monitoramento de consulta 43

44 Índices 44

45 Índices em Mysql Permitem acesso mais rápido aos dados Unique ou Primary Refere-se a apenas uma linha Non-Unique - Refere-se a mais de uma linha Pode ter uma ou mais colunas CREATE INDEX IDX ON TAB1(col1,col2,col3) ; Pode usar subconjunto ou substring (primeiros caracteres) CHAR, VARCHAR, BINARY, and VARBINARY CREATE INDEX PRE ON TAB1(COL1(10)) ; 45

46 Uso O índice não é usado se: A tabela tem poucas linhas O número total de linhas do índice é maior que ~10% da tabela É mais rápido fazer um full table scan sem o índice 46

47 Como índices são usados - ordenação SELECT Name from TAB1 ORDER By NAME Um índice em name pode ser usado para ordenação SELECT NAME FROM TAB WHERE NAME BETWEEN AAA and CCC ORDER By NAME ; Um índice em name pode ainda ser usado para ordenação SELECT NAME FROM TAB WHERE NAME_CITY = MIAMI ORDER By NAME ; O índice não pode ser usado Requer ordenação Às vezes é mais rápido ordenar do que usar o índice 47

48 Melhores práticas - índices Muitos índices podem tornar inserts/deletes mais lentos Para verificar: mysql>show create table tabname ; Não duplique índices em chaves compostas index key123 (col1,col2,col3) index key12 (col1,col2) <- Not needed! index key1 (col1) <-- Not needed! Use prefixos (subconjuntos) em chaves longas Melhores índices tem 16 bytes/chars ou menos Para strings longas que precisam ser indexadas, utilizarmysql MD5 para criar uma hash key e um índice na hash key MD5(str): Calculates an MD5 128-bit checksum for the string 48

49 Hash Estrutura de dados para facilitar a busca de valores longos. Pode usar lista encadeada em cada bucket 49

50 Exercício Importar tabelas do banco world Fazer consulta na tabela City Ver explain Ver: set profiling = 1; Select... show profile; 50

51 Consulta O nome das cidades que têm população > 10000, da região % Asia, que falam a língua Russian, em ordem alfabética A quantidade de cidades, agrupadas por distrito, que têm população > 10000, da região % Asia, que falam a língua Russian, em ordem de quantidade Executar com explain e show profile; 51

52 Consulta (cont.) Criar os índices abaixo: create index idx_regiao on Country (region); create index idx_language on CountryLanguage(language); Executar novamente com explain e show profiles; Verificar se o custo da 2a. Consulta mudou 52

53 TRANSAÇÕES LOCKS NÍVEIS DE ISOLAMENTO 53

54 Situação problema Saldo inicial = R$ 1000 Saldo inicial = R$ 2000 Conta C1 Conta C2 Transferência consiste em: C1 = C > DÉBITO C2 = C > CRÉDITO O que fazer quando o sistema falhar antes de completar a segunda operação (crédito)? 54

55 55

56 56

57 ACID Para assegurar a integridade dos dados, exige-se que o BD tenha as seguinte propriedades: ATOMICIDADE: Executar todas as operações ou nenhuma CONSISTÊNCIA: Execução de transação isolada preserva a consistência do BD (soma de valores preservada) 57

58 ACID ISOLAMENTO: Execução de uma transação não é afetada pela execução de outras concorrentes (como se não existissem) componente de controle de concorrência DURABILIDADE: Quando completada com sucesso, as mudanças persistem no BD mesmo se ocorrerem falhas componente de gerenciamento de recuperação Acrônimo ACID 58

59 Diferença de engine - InnoDB Transacional, implementa ACID Comportamento semelhante aos SGBD's Oracle, DB2, SQL Server, etc. Tamanho normalmente 2-3 X MyISAM, mas não com versão 5.5 do servidor MVCC (Multi-version concurrent control) = Non-blocking reads in most cases Consultas rápidas na chave primária e com range 59

60 MyISAM Forma de armazenamento mais rápido somente leitura Maioria das aplicações Web Excelente para bancos de dados de buscas na web 80/20 read/modify or higher Sem transações 60

61 MyISAM BD de relatórios / Data Warehouse Most compact data of all non-compressed engines Não implementa ACID 61

62 Transações START TRANSACTION BEGIN [WORK] COMMIT [WORK] ROLLBACK [WORK] SET autocommit = {0 1} 62

63 Exemplo START TRANSACTION; FROM table1 WHERE type=1; UPDATE table2 SET WHERE type=1; COMMIT; Quando uma transação é iniciada com Start transaction, o autocommit é desabilitado implicitamente 63

64 Exemplos Inserção de vendas e seus produtos Transferência de dinheiro (débito e crédito): 2 operações de atualização 64

65 Níveis de isolamento Padrão SQL define quatro níveis de isolamento de transação em termos de três fenômenos que devem ser evitados entre transações concorrentes. Os fenômenos não desejáveis são: 65

66 Fenômenos dirty read (leitura suja): A transação lê dados não efetivados (uncommitted) alterados por uma transação concorrente. nonrepeatable read (leitura que não pode ser repetida): A transação lê uma segunda vez os dados, e descobre que os dados foram modificados por outra transação (que os efetivou após ter sido feita a leitura anterior). phantom read (leitura fantasma): A transação executa uma segunda vez uma consulta que retorna um conjunto de linhas que satisfaz uma determinada condição de procura, e descobre que o conjunto de linhas que satisfaz a condição é diferente devido a uma outra transação efetivada recentemente.

67 Exemplo nível Repeatable read TRANSAÇÃO 1 start transaction; -- 1 update cliente set nome_cliente='ligia T1' where cod_cliente=11; -- 4 commit; -- 6 TRANSAÇÃO 2 start transaction; -- 2 SELECT * from cliente where cod_cliente=11; -- 3 SELECT * from cliente where cod_cliente=11; -- 4 não há read uncommitted SELECT * from cliente where cod_cliente=11; -- 6 não há unrepeatable read commit; -- 7

68 Níveis x fenômenos Níveis de isolamento da transação no SQL Nível de isolamento Dirty Read Nonrepeatable Read Phantom Read Read uncommitted Possível Possível Possível Read committed Impossível Possível Possível Repeatable read Impossível Impossível Possível Serializable Impossível Impossível Impossível Default Mysql

69 TRANSAÇÃO 1 set transaction isolation level serializable; -- 1 start transaction; -- 2 SELECT * from cliente where cod_cliente=11 for update; -- 5 update cliente set nome_cliente='ligia T1' where cod_cliente=11; -- 7 commit; -- 9 TRANSAÇÃO 2 set transaction isolation level serializable; -- 3 start transaction; -- 4 SELECT * from cliente where cod_cliente=11 for update; -- 6 update cliente set nome_cliente='ligia T2' where cod_cliente=11; -- 8 commit; -- 10

70 Mysql Repeatable read: todas as leituras da mesma transação lêem valores iguais à primeira leitura

71 Exemplo nível read committed TRANSAÇÃO 1 SET TRANSACTION ISOLATION LEVEL READ COMMITTED; -- 1 start transaction; -- 2 update cliente set nome_cliente='ligia T1' where cod_cliente=11; -- 5 commit; -- 7 TRANSAÇÃO 2 SET TRANSACTION ISOLATION LEVEL READ COMMITTED; -- 3 start transaction; -- 4 SELECT * from cliente where cod_cliente=11; -- 6 antes do commit da transação concorrente SELECT * from cliente where cod_cliente=11; -- 8 depois do commit da transação concorrente commit; -- 9

72 Exercício Fazer execução concorrente com read uncommitted

73 SET TRANSACTION SET [GLOBAL SESSION] TRANSACTION ISOLATION LEVEL { REPEATABLE READ READ COMMITTED READ UNCOMMITTED SERIALIZABLE }

74 Variáveis do servidor SELECT SET GLOBAL tx_isolation='repeatableread'; SET SESSION tx_isolation='serializable';

75 Bloqueios Compartilhado (permite consulta, mas não alteração) Exclusivo (não permite consulta nem alteração) Em nível de linha Em nível de tabela 75

76 Bloqueios e conflitos S: shared X: exclusive IS: intentional shared IX: intentional exclusive 76

77 Locks em nível de tabela LOCK TABLES tbl_name [[AS] alias] lock_type [, tbl_name [[AS] alias] lock_type]... lock_type: A session that requires locks must acquire all the locks that it needs in a single LOCK TABLES statement. While the locks thus obtained are held, the session can access only the locked tables. READ WRITE 77

78 Locks em nível de linha Select... [ FOR UPDATE LOCK IN SHARE MODE] ] Share mode: outras sessões lêem, mas não alteram, até o commit For update: outras sessões não alteram, não fazem lock in share mode e dependendo do nível de isolamento, não lêem 78

79 Deadlock Duas linhas sendo alteradas por transações concorrentes Abraço mortal, a primeira espera a segunda que espera a primeira 79

80 Exemplo deadlock TRANSAÇÃO 1 start transaction; -- 1 update cliente set nome_cliente='ligia Web t1' where cod_cliente=11; -- 3 update cliente set nome_cliente='ruth t1 ' where cod_cliente=12; -- 5 commit; -- 7 TRANSAÇÃO 2 start transaction; -- 2 update cliente set nome_cliente='ruth t1 ' where cod_cliente=12; -- 4 update cliente set nome_cliente='ligia Web t1' where cod_cliente=11; -- 6 commit;

81 Segurança 81

82 Segurança Lista de controle de acesso Conexões, consultas, operações Autenticação de um usuário em um dado host e associação com os privilégios de INSERT, UPDATE, DELETE, SELECT Mysql suporta contas anônimas Privilégio verificado antes de cada consulta 82

83 Segurança GRANT / REVOKE Concede, revoga privilégios de acesso Show grants [ for user ]; Parâmetros de conexão: usuário, senha, host 83

84 Segurança Mysql autentica usuário por host Usuário de banco é diferente de usuário de S.O. 84

85 Segurança mysql_secure_installation script Apaga o banco test Exige senha para o root Assegura que root não se conectará de servidor remoto Apaga contas anônimas Considere mudar o nome do superusuário root 85

86 Segurança 86

87 87

88 88

89 89

Linguagem SQL Restrições, Triggers e Views

Linguagem SQL Restrições, Triggers e Views FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação Linguagem SQL Restrições, Triggers e Views Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:

Leia mais

Triggers(Gatilhos) Tiago Alves de Oliveira

Triggers(Gatilhos) Tiago Alves de Oliveira Triggers(Gatilhos) Tiago Alves de Oliveira tiago.alves@uemg.br Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos

Leia mais

BDII SQL TRANSAÇÃO Revisão 2

BDII SQL TRANSAÇÃO Revisão 2 exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Transações Ver conjunto de slides na opção Transações

Leia mais

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store

Leia mais

FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento

FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS. Prof. Erinaldo Sanches Nascimento FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação TRIGGERS Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre o banco de dados. Especificar regras

Leia mais

Prof. Josenildo Silva

Prof. Josenildo Silva BD II (SI 587) Gatilhos (Triggers) Prof. Josenildo Silva jcsilva@ifma.edu.br Motivação Algumas rotinas precisam ser executadas antes ou depois de um determinado evento no banco de dados Motivação Regras

Leia mais

Funções Definidas pelo Usuário

Funções Definidas pelo Usuário BD II (SI 587) Funções Definidas pelo Usuário Prof. Josenildo Silva jcsilva@ifma.edu.br Funções definidas pelo usuário Funções precisam obrigatoriamente retornar um valor Somente aceitam parâmetros do

Leia mais

Oracle Comandos para Processamento de Transações

Oracle Comandos para Processamento de Transações Oracle Comandos para Processamento de Transações Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Transação Unidade lógica de trabalho contém um ou mais comandos SQL para manipulação

Leia mais

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo PCS3413 Engenharia de So-ware e Banco de Dados Aula 20 Escola Politécnica da Universidade de São Paulo 1 PROCEDIMENTOS TRIGGER STORED PROCEDURE Regras de Negócio controladas pelo SGBD SGDB Relacional dispoõe

Leia mais

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I 6 Transações e Controle de Concorrência Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

Leia mais

se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito

se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito Bases de Dados Transacções Propriedades ACID Atomicidade se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito Consistência a soma A+B tem de ser igual antes e depois Isolamento nenhuma

Leia mais

Marcos Alexandruk Marcos Alexandruk

Marcos Alexandruk Marcos Alexandruk Marcos Alexandruk m.alexandruk@gmail.com Apresentação disponível em: www.dba.net.br/mysql.pdf Parte I: Download e Instalação MySQL - Download www.mysql.com/downloads MySQL - Download MySQL - Download MySQL

Leia mais

se a transação falhar entre os 3 passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência

se a transação falhar entre os 3 passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência Bases de Dados Transacções Propriedades ACID 1 T Atomicidade i : read(a) 2 A := A 50 se a transação falhar entre os 3 write(a) passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência 5 B := B

Leia mais

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

SQL Gatilhos (Triggers)

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

Leia mais

PSI Linguagem de Definição de dados. Módulo 15

PSI Linguagem de Definição de dados. Módulo 15 PSI Linguagem de Definição de dados Módulo 15 Objetivos de aprendizagem No final deste módulo os alunos devem ter adquirido conhecimentos, procedimentos e atitudes que lhe permitam: Criação, alteração

Leia mais

Sumário. Introdução a Transações

Sumário. Introdução a Transações 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

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 6 de junho de 2018 Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas Nome: Grupo 1 (7 valores) 1 a) Quais são as 4 propriedades ACID que

Leia mais

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II Transações (Oracle) Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de

Leia mais

Restrições de Integridade Semântica

Restrições de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

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

BD II (SI 587) Procedimentos Armazenados

BD II (SI 587) Procedimentos Armazenados BD II (SI 587) Procedimentos Armazenados Josenildo Silva jcsilva@ifma.edu.br MOTIVAÇÃO Contexto: Sistemas em 2 camadas Contexto: Sistemas em 3 camadas Problema 1: Alto volume de dados na rede Como reduzir

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

MySql. Introdução a MySQL. Andréa Garcia Trindade

MySql. Introdução a MySQL. Andréa Garcia Trindade MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo

Leia mais

Avisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova

Avisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova Ciência da Computação GBC043 Sistemas de Banco de Dados Programando com SQL s Avisos Vista da segunda prova Data: 03/06 das 13:40 às 15:00h Local: sala 1B137 Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br

Leia mais

Subsistema de Integridade Semântica

Subsistema de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia 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 Funções e procedimentos Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção de

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 6 Prof. Marcos Alexandruk Aula 6 Estruturas lógicas do Oracle: Tabelas tabelas relacionais tabelas temporárias tabelas organizadas por índices tabelas de objetos tabelas

Leia mais

Subsistema de Integridade Semântica

Subsistema de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

Múltiplas Tabelas. Disciplina de Banco de Dados

Múltiplas Tabelas. Disciplina de Banco de Dados Múltiplas Tabelas Uma das grandes características de um sistema de banco de dados relacional é a capacidade de interagir com múltiplas tabelas relacionadas. Precisamos lembrar que para relacionar tabelas

Leia mais

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,

Leia mais

Stored Procedures e Triggers

Stored Procedures e Triggers e Triggers Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Rotinas Armazenadas Stored Procedures Exemplos Triggers Exemplos Exercícios 2 Rotinas Armazendas Rotinas Armazenadas são um conjunto de comandos

Leia mais

f. Exemplo: verificar condição de aprovação de alunos

f. Exemplo: verificar condição de aprovação de alunos Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Semana 17 1) Expressões CASE a. Tem a mesma finalidade que nas linguagens

Leia mais

Tarefa Orientada 17 Scripts

Tarefa Orientada 17 Scripts Tarefa Orientada 17 Scripts Objectivos: Declaração de variáveis escalares Declaração de variáveis do tipo tabela Tabelas temporárias Estruturas Condicionais Estruturas de Repetição Tratamento de erros

Leia 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 / 21 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

Curso de Ciência da Computação

Curso de Ciência da Computação Curso de Ciência da Computação MATÉRIA: Banco de Dados II ASSUNTO: Triggers (Gatilhos ou automatismos) PROFESSOR: Ricardo Rodrigues Barcelar Objetivos: Apresentar a linguagem Structured Query Language

Leia mais

Lock. Administração de Banco de Dados

Lock. Administração de Banco de Dados Lock Administração de Banco de Dados 1 Tópicos o Lock o Tipos de Lock o Recursos que podem ser bloqueados o Dica de Lock sobre uma Tabela o Dica de Lock em uma Sessão o Compatibilidade entre Locks 2 Lock

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers

Sistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers Sistemas de Informação e Bases de Dados 2012/2013 Stored Procedures e Triggers Alberto Sardinha Bibliografia MSDN http://msdn.microsoft.com 1 Funções e Procedimentos SQL suporta funções e procedimentos

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

CIÊNCIA E TECNOLOGIA DO RIO

CIÊNCIA E TECNOLOGIA DO RIO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia

Leia mais

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

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

Leia mais

Controle de Transação

Controle de Transação Curso: Ciência da Computação Disciplina: Banco de Dados Campus Lages Controle de Transação Prof. Edjandir C. Costa edjandir.costa@ifsc.edu.br Agenda Conceitos de transação e sistema Propriedades desejáveis

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 Revisão de Arquitetura C/S BD Cliente-Servidor com função distribuída Cliente Servidor Aplicativo

Leia mais

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,

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

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) BANCO DE DADOS GERENCIAL 1 A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) VIEW é uma instrução SQL que retorna dados e é salva no banco de dados com um nome, ou seja, passa a ser um objeto

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

Professor Leonardo Larback

Professor Leonardo Larback Professor Leonardo Larback Engines MySQL Server possui um conceito chamado de Storage Engine ou mecanismos de armazenamento, ou ainda, tipos de tabela. Através da engine selecionada, o servidor sabe como

Leia mais

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Considere o diagrama relacional da Figura 1 e escreva os comandos SQL para executar os exercícios abaixo. Figure 1 Diagrama relacional.

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 9 Prof. Marcos Alexandruk Aula 9 Visões (Views) Visões regulares Visões materializadas Visões de objeto Uma visão (view) é uma representação lógica de uma ou mais tabelas.

Leia mais

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando

Leia mais

BD II (SI 587) Transações em Banco de Dados. Prof. Josenildo Silva

BD II (SI 587) Transações em Banco de Dados. Prof. Josenildo Silva BD II (SI 587) Transações em Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são adaptados de Database System Concepts, 6th Ed. Silberschatz, Korth and Sudarshan distribuídos

Leia mais

Oracle Database: Fundamentos de SQL e PL/SQL

Oracle Database: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0800 891 6502 Oracle Database: Fundamentos de SQL e PL/SQL Duration: 5 Days What you will learn Este curso apresenta os fundamentos de SQL e PL/SQL e as vantagens das linguagens

Leia 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

José Antônio da Cunha

José Antônio da Cunha José Antônio da Cunha CEFET-RN Natal, 10 de maio de 2013 Auditando operações DML com OUPUT Imagine o seguinte cenário: você possui uma tabela muito importante em seu banco de dados e gostaria de implantar

Leia mais

TRIGGERS Temas abordados

TRIGGERS Temas abordados MYSQL TRIGGERS TRIGGERS Temas abordados 1 - Introdução ao SQL Triggers SQL Trigger é uma instrução SQL ou um conjunto de instruções SQL,que fica armazenado, é será activado ou disparado quando um evento

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

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK Ciência da Computação GBC043 Sistemas de Banco de Dados Orientações Transações - PostgreSQL Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Executar os comandos conforme

Leia mais

A linguagem SQL

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

Leia mais

Banco de Dados. 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

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

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II PL/SQL - Procedures -Cursor - Funções Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa

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

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

Material Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

Material Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Banco de Dados Material Teórico Procedures, Functions, Exceptions e Triggers Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque Revisão Textual: Prof. Ms. Claudio Brites Procedures, Functions,

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

ACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratóriode Bases de Dados Aula10 SQL Oracle Asserçõese gatilhos Professora: Fátima L. S. Nunes REGRAS DE INTEGRIDADE (RI) garantem que mudanças feitas no BD não resultem em inconsistência de

Leia mais

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única Tópicos do Curso: Introdução Listar os principais recursos do Banco de Dados Oracle 10g Apresentar uma visão geral de: componentes, plataforma de internet, servidor de aplicações e suite do desenvolvedor

Leia mais

Oracle Database 11g: Introdução à Linguagem SQL Novo

Oracle Database 11g: Introdução à Linguagem SQL Novo Oracle University Contact Us: 0800 891 6502 Oracle Database 11g: Introdução à Linguagem SQL Novo Duration: 5 Days What you will learn Neste curso, os alunos aprendem os conceitos de bancos de dados relacionais.

Leia mais

Normalização: (Uma tabela muito Normalizada significa que ele é muito bem feita, e muito relacionado) 5FN (Somente 10% dos DBAs dos ADs conseguem ) A normalização de dados é uma série de passos que se

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

Banco de Dados II. Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva

Banco de Dados II. Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva Banco de Dados II Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva 1 Tablespace Um tablespace é uma unidade lógica onde os dados são armazenados.

Leia mais

SQL Linguagem de Definição de Dados

SQL Linguagem de Definição de Dados SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais

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

Page 1. Prof. Constantino Jacob

Page 1. Prof. Constantino Jacob Tópicos Introdução à SQL Definição Tipos de Operações Instrução SELECT Sintaxe básica Operações relacionais de restrição, projeção e junção Instruções DML Delete, Update e Insert Instruções DDL Create

Leia 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

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 6 de junho de 2018 Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Quais são as 4 propriedades ACID

Leia mais

IEC Banco de Dados I Aula 11 Técnicas de Programação SQL

IEC Banco de Dados I Aula 11 Técnicas de Programação SQL IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário

Leia mais

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker Modelo Relacional Codd, E.F A relational model of data for large shared data banks. Communications of the ACM, 13(6):377-87, June

Leia mais

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Oracle Database 10g: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer

Leia mais

Aula 03. Evandro Deliberal

Aula 03. Evandro Deliberal Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações

Leia mais

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Laboratório de Banco de Dados. Prof. Luiz Vivacqua. (la.vivacqua@gmail.com) Ementa Conceitos básicos Sistemas de banco de dados Relacional Visão Geral do PostGreSQL Álgebra Relacional Operadores básicos Operadores adicionais A Linguagem de Consulta Estruturada

Leia 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

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o

Leia mais

Lista de Exercícios 12 Transações

Lista de Exercícios 12 Transações UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO SCC0141 - Bancos de Dados e Suas Aplicações Prof. José Fernando Rodrigues Júnior 2º semestre

Leia mais

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

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

Leia mais

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 10- Indexação Prof. Daniela Barreiro Claro Indexação Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; FORMAS - UFBA 2 de X; X=23 Indexação Sintaxe: create

Leia mais