SóProvas


ID
646111
Banca
FCC
Órgão
TJ-PE
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Na parte declarativa de qualquer bloco PL/SQL, subprograma ou pacote pode-se criar coleções (collections), definindo-se o tipo de coleção

Alternativas
Comentários
  • COLEÇÕES
    Com freqüência, é conveniente manipular várias variáveis de uma vez como uma
    unidade. Esses tipos de dados são conhecidos como coleções. O Oracle7 fornecia um tipo
    de coleção: tabela index-by. O Oracle8i acrescentou outros dois tipos de coleção: tabelas
    aninhadas e varrays
    . O Oracle9i adiciona a capacidade de criar coleções de múltiplos
    níveis, isto é, coleção de coleções.

    http://pt.scribd.com/doc/58491916/217/Colecoes-no-banco-de-dados
  • Table 5-1 Characteristics of PL/SQL Collection Types

    Collection TypeNumber of ElementsSubscript TypeDense or SparseWhere CreatedCan Be Object Type Attribute

    Associative array (or index-by table)

    Unbounded

    String or integer

    Either

    Only in PL/SQL block

    No

    Nested table

    Unbounded

    Integer

    Starts dense, can become sparse

    Either in PL/SQL block or at schema level

    Yes

    Variable-size array (varray)

    Bounded

    Integer

    Always dense

    Either in PL/SQL block or at schema level

    Yes

    Unbounded means that, theoretically, there is no limit to the number of elements in the collection. Actually, there are limits, but they are very high—for details, see Referencing Collection Elements.

    Dense means that the collection has no gaps between elements—every element between the first and last element is defined and has a value (which can be NULL).



  • Understanding Associative Arrays (Index-By Tables)

    An associative array (also called an index-by table) is a set of key-value pairs. Each key is unique, and is used to locate the corresponding value. The key can be either an integer or a string.

    Using a key-value pair for the first time adds that pair to the associative array. Using the same key with a different value changes the value.


    Understanding Nested Tables

    Conceptually, a nested table is like a one-dimensional array with an arbitrary number of elements.

    Within the database, a nested table is a column type that holds a set of values. The database stores the rows of a nested table in no particular order. When you retrieve a nested table from the database into a PL/SQL variable, the rows are given consecutive subscripts starting at 1. These subscripts give you array-like access to individual rows.

    Understanding Variable-Size Arrays (Varrays)

    A variable-size array (varray) is an item of the data type VARRAY. A varray has a maximum size, which you specify in its type definition. A varray can contain a varying number of elements, from zero (when empty) to the maximum size. A varray index has a fixed lower bound of 1 and an extensible upper bound. To access an element of a varray, you use standard subscripting syntax.

    fonte: http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/collections.htm#CHDBHJEI


  • Many programming techniques use collection types such as arrays, bags, lists, nested tables, sets, and trees. To support these techniques in database applications, PL/SQL provides the datatypes TABLE and VARRAY, which allow you to declare index-by tables, nested tables and variable-size arrays. In this chapter, you learn how those types let you reference and manipulate collections of data as whole objects. You also learn how the datatype RECORD lets you treat related but dissimilar data as a logical unit.


    http://docs.oracle.com/cd/B10500_01/appdev.920/a96624/05_colls.htm
  • Varray (Variable array - array de tamanho variável) é uma forma persistente, mas limitada, de coleção que pode ser criada no banco de dados, bem como em uma PL/SQL. Semelhante a uma tabela aninhada, um varray também é uma coleção homogênea unidimensional. O tamanho da coleção e o esquema de armazenamento são os fatores que diferenciam os varrays das tabelas aninhadas. Ao contrário de uma tabela aninhada, um varray pode acomodar apenas um número (fixo) definido de elementos.

    Fonte: devmedia
    Leia mais em: PL/SQL Collections http://www.devmedia.com.br/pl-sqlcollections/30646#ixzz3zvZuMae2

  • c-

    varrays no oracle são os famosos vetores, estruturas que armazenam variaveis do mesmo tipo em posições contíguas da memoria. Para se usar um varray no pl sql:

    create or replace type nomeDoVarray is varray (n) of tipo;