SóProvas


ID
1770622
Banca
FGV
Órgão
PGE-RO
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Analise as afirmativas seguintes sobre a criação de tabelas com a palavra chave TEMPORARY no MySQL 5.0.

I. São criadas na memória.

II. Persistem somente durante a sessão em que foram criadas.

III. Não podem receber nomes que já estão em uso em tabelas não temporárias do bancos de dados.

IV. Sua criação requer que o usuário possua o privilégio CREATE TEMPORARY TABLES.

Somente estão corretas: 

Alternativas
Comentários
  • -> Comando para criar uma tabela temporária: CREATE TEMPORARY TABLE ClientesCidadesTemp (id_nome varchar(20)); 

    I - ERRADO - A tabela temporária não é criada na memória. 

    II - CERTO: As tabelas temporárias persistem somente na sessão (tempo que você permaneceu conectado a sua conta até ter realizado o encerramento da conexão ou finalizado seu programa GUI) em que foram criadas. 

    III - ERRADO : Podem receber o mesmo nome das tabelas não temporárias do banco de dados (A tabela existente fica escondida até que a tabela temporária é deletada.) 

    IV - CERTO: Para criar uma tabela temporária é necessário ter o privilégio CREATE TEMPORARY TABLE. 

    LETRA D

  • Só tomem cuidado com a primeira afirmativa:

     - primeiro porque memória RAM também é memória (pode-se dizer que tudo é criado na memória no computador)
     - segundo, interpretando que a afirmativa quis dizer que "São criadas no disco", ela pode ser salva em disco, (temporariamente).

    Are tables created with “CREATE TEMPORARY TABLE” in memory or on disk?
    (...)

    It depends on what engine you specify.

    By default the table data will be stored on disk.
    If you specify the MEMORY engine, the data will only be stored in memory.

    It should be possible to actually find the files that are created in the filesystem when the temporary tables are created. After running the following commands:

    CREATE TABLE test.table_myisam (x int) ENGINE=MyISAM;
    CREATE TABLE test.table_memory (x int) ENGINE=MEMORY;
    CREATE TEMPORARY TABLE test.temp_table_myisam (x int) ENGINE=MyISAM;
    CREATE TEMPORARY TABLE test.temp_table_memory (x int) ENGINE=MEMORY;

    http://stackoverflow.com/questions/7560860/are-tables-created-with-create-temporary-table-in-memory-or-on-disk