SóProvas


ID
1663150
Banca
FGV
Órgão
TCM-SP
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Considere a tabela relacional criada pelo comando

create table xx

(a int null, b int null, c int null)

Depois de instanciada com um conjunto de registros, os seguintes comandos foram executados:

select count(*) from XX

select count(distinct A) from XX

select count(distinct B) from XX

select count(*) from XX where C>10

select count(*) from XX where not C>10

Sabendo-se que esses comandos produziram como resultado, respectivamente, os números 10, 10, 0, 0 e 5, analise as quatro alternativas para a definição da tabela XX: 


I.

CREATE TABLE XX(

             A int NULL,

             B int NULL,

             C int NULL ) 

II. CREATE TABLE XX(

                 A int primary key,

                 B int NULL,

                 C int NULL ) 

III.

CREATE TABLE XX(

             A int NULL,

             B int NULL,

             C int ) 

IV.

CREATE TABLE XX(

              A int,

              B int primary key,

              C int NULL ) 

A lista com todos os comandos que são válidos e compatíveis com a instância corrente da tabela é: 


Alternativas
Comentários
  • Comentando somente a alternativa INCORRETA:(IV)

    CREATE TABLE XX( 

                  A int, 

                  B int primary key, 

                  C int NULL ) 

     

     

    A coluna B não pode ser primary Key, pois o comando "select count(distinct B) from XX " retornou 0, ou seja, NÃO HÁ ELEMENTOS DISTINTOS NA COLUNA; A principal propriedade da chave primaria é essa: os valores nunca se repetirão na tabela.

    Gabarito letra B

  • GAB B

    Sobre o item IV:

    • O "select count(distinct B) from XX" retorna zero porque todos os valores são nulos

    Sobre o item III:

    • A declaração "C int" significa que C aceita null, pois é a definição padrão caso nada seja declarado