SóProvas


ID
770452
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Determinadas características de orientação a objeto incorporadas à versão 8 do ORACLE possibilitam definir atributos multivalorados. O tipo de dados utilizado para essa definição é o VARRAY, que possui as propriedades COUNT e LIMIT.

Alternativas
Comentários
  • Essa é um tipo de questão prática, ou seja, só responde que trabalha de fato com Oracle. 

    A solução: http://www.dba-oracle.com/tips_oracle_varray.htm
  • É muito relativo. Eu sou DBA há 8 anos e nunca trabalhei com este tipo de dados. Ainda assim é muito relativo dizer que quem trabalha com Oracle conhece.

  • Certo,

    Eu acertei usando a lógica. Se um array são blocos um VARRAY são blocos(estruturas) de strings. E levando consideração as linguagens de programação que tratam com array sempre tem os atributos de COUNT e LIMIT para essas estruturas.

  • O Oracle implementa dois tipos de dados coleções: o tipo vetor (varray) e a tabela aninhada (nested table). 


    Tipo Vetor (VARRAY): Esse tipo é um vetor, ou seja, uma lista ordenada de elementos do mesmo tipo. Cada elemento tem um índice, que é um número da posição do elemento no vetor. No Oracle é chamado de VARRAY, porque o vetor é de tamanho variável. Por isso quando este for criado sempre deverá ser especificado o seu tamanho máximo. É importante notar que o banco de dados não aloca realmente qualquer espaço; ele apenas define um novo tipo e o armazena no catálogo do sistema. 


    O seguinte exemplo declara um tipo varray: 

    create type lista_telefones as varray(5) of varchar2(10) 

  • cuidado que isso não é multivaloração.

    cada dado é atômico, do tipo do domínio. O domínio é que por acaso é um array.

    daqui a pouco a banca pergunta se isso fere a 1ª forma normal.