SóProvas


ID
598456
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens subsequentes, relativos a comandos SQL (structured query language).

O comando a seguir permite criar a tabela ALUNO inserindo as restrições de integridade. Os dados da tabela e as suas restrições podem ser alteradas utilizando-se o comando ALTER TABLE.

CREATE TABLE ALUNO
(
Matricula smallint not null,
Nome char(20),
Salario money,
Cidade char(20),
CEP smallint
Primary key (matricula)
);

Alternativas
Comentários
  • SQL não é case sensitive, então tanto faz maiusculo e minusculo [1]

    [1] http://www.w3schools.com/sql/sql_syntax.asp


    Eu acredito que o erro esteja no tipo money, a menos que  haja um SGBD específico que implemente esse tipo e no contexto não tenha sído referenciado. . Os tipos números disponíveis no SQL:


    Numbers

    • INTEGER and SMALLINT
    • FLOATREAL and DOUBLE PRECISION
    • NUMERIC(precisionscale) or DECIMAL(precision,scale)


    É verdade...

    DML => Linguagem de Manipulação de Dados
    DDL => Linguagem de Definição de Dados

    Para alterar as restrições, isto é, o esquema da tabela usamos ALTER TABLE.
    Para alteras os seus dados usamos UPDATE.
  • O comando a seguir permite criar a tabela ALUNO inserindo as restrições de integridade. Os dados da tabela e as suas restrições podem ser alteradas utilizando-se o comando ALTER TABLE.

    COMENTÁRIO:
    Creio que erro seja o que está destacado em vermelho, haja vista que o comando que altera dados da tabela é o UPDATE.
  • Então,

    Acredito que o erro da questão está quando diz: "...Os dados da tabela e as suas restrições podem ser alteradas utilizando-se o comando ALTER TABLE."

    Não seria REVOKE ????
  • O tipo MONEY existe no SQL Server. Algum outro lugar fazia menção ao tipo de SGBD? E mais, se nenhum outro lugar faz menção ao tipo de SGBD, esse codigo SQL é correto por haver o tipo money no SQL Server? Não seria errado por só haver no SQL Server?

    A CESPE é dose.

    Quanto ao termo "Os dados da tabela e as suas restrições podem ser alteradas utilizando-se o comando ALTER TABLE." e a suposição de que os dados são alterados com UPDATEs, INSERTs e DELETEs, entra em contradição com OUTRA questão da CESPE que teima em dizer que os dados DA tabela são os dados da estrutura da tabela (e, portanto, alteráveis por ALTER TABLE) e as informações salvas (alteráveis por UPDATEs e cia) são os ditos dados NA tabela.

    A CESPE é dose[2].

    Quanto ao REVOKE, ele tira as permissões de acesso à tabela, não altera sua estutura ou seus dados.
  • acdcjunior, Obrigado pela observação!
    Pode nos informar a prova em que tem essa questão do CESPE que trata essa diferença de "dados na tabela" e "dados da tabela"? Fiquei curioso e preocupado agora. :-(

    E tem outro problema na questão que eu também acho que está errado. Está faltando uma vírgula após a declaração do campo que antecede a expressão "Primary key".
  • O erro está no trecho "... permite criar a tabela ALUNO inserindo as restrições de integridade", pois o comando está apenas criando a tabela, as restrições de integridade seriam as FKs (contraints).
  • Introdução a Linguagem SQL: Comandos Básicos e Avançados – Parte 1
  • Puxa... será que foi só eu mesmo que vi que antes do "Primary key (matricula)" não tem virgula, quando deveria ter??
  •  forrest1777, acho que vc tem razão! Deveria haver vírgula, antes da Primary key.

     
  • Pessoal, o erro da questão está em: "Os dados da tabela e as suas restrições podem ser alteradas utilizando-se o comando ALTER TABLE."
    ALTER TABLE (SQL-DDL) é um comando para alterar a definição da tabela e suas restrições. Os dados de uma tabela só podem ser alterados com o comando UPDATE ou DELETE (SQL-DML).

    Lengenda:
    DDL = Linguagem de Definição de Dados
    DML = Linguagem de Manipulação de Dados

    Obs.: a falta da vírgula após a linha "CEP smallint" também é questionável, pois sem ela o comando CREATE TABLE retornaria um erro e não seria concretizado; fato que também invalida a questão.
  • Cara, na boa a CESPE é TROLL lv 99, se amarra em deixar questoes AMBIGUAS e fazer os outros de bobo, pra mim realmente o erro estar em falar que alter table pode alterar os dados da tabela, lendo o enunciado e criaçao da tabela voce entende que a CESPE quiz dizer as colunas e nao os dados (tuplas) da tabela, errar uma questao ultra simples dessa por trolagem da banca é inadmissivel, fora ter que conhecer o conteudo, voce precisa advinhar se a banca ta trolando com questoes ambiguas ou não.
  • é por isso que detesto questão de certo ou errada. É só colocar uma questão ambígua pra deixar o concurseiro louco.