SóProvas


ID
236263
Banca
FCC
Órgão
TCE-SP
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Considere:

I. Cada tupla contém exatamente um valor (do tipo apropriado) para cada um de seus atributos.

II. Existe ordenação da esquerda para a direita nos componentes de uma tupla, contrariamente aos conjuntos na matemática, que não exigem ordenação em seus elementos.

III. Cada subconjunto de uma tupla é uma tupla (e cada subconjunto de um cabeçalho é um cabeçalho).

Quanto às propriedades das tuplas, é correto o que consta APENAS em

Alternativas
Comentários
  • I. Cada campo de uma instância (atributo) contém um valor próprio;
    II. Você pode fazer uma seleção na ordem que você quiser (select atrib1, atrib2; select atrib2; atrib1)
    III.  Digamos que uma tabela tam os atributos atrib1, atrib2 e atrib3, você poderá fazer uma seleção "select atrib1, atrib2", que irá lhe trazer um sub-conjunto, com um sub-cabeçalho.
  • Questão complicada. Principalmente relacionado ao item II.

    Para mim, o item II está correto:
    Pelo que pesquisei, segundo o modelo relacional, existe sim uma ordenação entre os atributos de uma relação, da esquerda para a direita. O que não existe é ordenação entre tuplas, as quais podem seguir qualquer ordem. Pela teoria dos conjuntos da matemática, um conjunto não possui elemento repetido realmente. Por acaso alguem poderia, se possível, comentar esse item com alguma referência técnica? Grato.
  • Discordo do gabarito da questão, principalmente relacionado ao item II. Segue algumas posições do livro do Elmasri, Sistemas de Banco de Dados, 3o edição, pág. 92.

    "Ordenação de Tuplas em uma Relação. Uma relação é definida como um conjunto de tuplas. Matematicamente, os elementos de um subconjunto não têm ordem entre eles, portanto, as tuplas em uma relação não têm qualquer ordem em particular."

    Mais abaixo ele declara: " uma n-tupla é uma lista ordenada de n valores, tanto assim que a ordenação de valores em uma tupla — ou seja, dos atributos no esquema da relaçãoé importante."

    Ou seja, ele deixa claro que a ordenação de tuplas na relação não tem qualquer ordem particular, entretanto a ordenação dos valores de uma tupla (atributos) é importante e é nesse ponto que a questão foi infeliz ao declarar "...nos componentes de uma tupla...", o que nos leva a pensar nos atributos da tupla e, acredito, o avaliador se confundiu nesse ponto.


  • Alguém poderia comentar o item 3?
    III. Cada subconjunto de uma tupla é uma tupla (e cada subconjunto de um cabeçalho é um cabeçalho).
  • Sobre o item III, este parece meio confuso para o meu entendimento:

    III. Cada subconjunto de uma tupla é uma tupla

    Uma tupla é uma linha de uma dada tabela, composta por várias colunas. Em minha opnião um subconjunto de uma tupla, seria uma ou mais colunas ... e não uma outra tupla como diz o enunciado.

    Alguém ai tem um entendimento diferente ?
  • Acho que vocês estão fazendo confusão com esta questão.

    Uma ajuda:
    Primeiramente vamos à definição de tupla:
    Uma tupla é uma lista ordenada de valores. Nesta situação, é importante a ordem em que os atributos aparecem em um esquema de relação. Entretanto, esta ordem não é realmente importante, desde que seja mantido a correspondência entre atributos e valores.
    Na minha opinião o erro da assetiva 2 é quando diz "contrariamente aos conjuntos da matemática que não exigem ordenação". Conjuntos na matemática podem exigir ordenação sim.
    A assertiva I está correta e é a mais fácil de todas. Se uma tupla é uma linha que corresponde a uma lista de valores, então cada atributo é um elemento da lista e, de acordo com o Modelo Relacional, cada atributo deve ter um tipo e não pode ser multivalorado. Caso contrário, ele fere a 1FN.
    A III, na minha opinião está certa, pois, na prática, podemos ter uma visão do BD que corresponda à um subconjunto de uma tabela qualquer e , neste caso, uma tupla desta visão será um subconjunto de uma tupla da tabela original e nem por isso deixará de ser tupla pelo simples fato de estar enquadrada no conceito de tupla: lista ordenada de valores.








  • Concordo com o colega Alfredo sobre o erro da questão.

    Se pensarmos num exemplo de conjunto matemático, como o dos números naturais(N), perceberemos que os elementos não são dispostos aleatoriamente. Eles seguem uma ordem crescente 0, 1, 2, 3, 4 , 5, 6, 7, e por aí vai.... Assim, nesse caso, a ordem é importante para o conjunto.
  • Pessoal, já vi outras questões tratando deste mesmo assunto. Sempre que se afirma existir ordenação de  tuplas ou atributos a resposta considerada pelas bancas é "ERRADO". Como o próprio nome diz, o modelo relacional baseia-se em relações (conjuntos) e nas operações entre elas. Não há ordenação entre elementos (tuplas) de um conjunto e nada se diz na álgebra relacional sobre ordenação de elementos (atributos) que compõem os elementos (tuplas) de um conjunto. Mesmo sendo de certa forma interessante que se mantenha uma ordenação entre os atributos, conceitualmente, isso não é considerado pela álgebra relacional, que é a base para o modelo relacional. Os questionamentos são importantes, porque nos ajudam a pensar sobre determinado tema, mas o que importa mesmo na hora da prova é o que as bancas consideram CORRETO.
  • Concordo com o Alfredo sobre o item II, a ordem é importante nos componentes da tupla, imaginem se cada tupla de uma relação estivesse em uma ordem diferente. Este conceito é importante inclusive para uso nas provas. O erro é mesmo sobre a ordem na matemática.

  • Pessoal,

    I. Cada tupla contém exatamente um valor (do tipo apropriado) para cada um de seus atributos. 

    Certo. No caso de atributos multi-valorados, o atributo seria do tipo apropriado (tupla)

    II. Existe ordenação da esquerda para a direita nos componentes de uma tupla, contrariamente aos conjuntos na matemática, que não exigem ordenação em seus elementos. 

    Errado. Não existe ordenação entre os elementos de uma tupla, isso não faria sentido. Exemplo de tupla: (1,Joao,10). Como iríamos ordenar isso?

    III. Cada subconjunto de uma tupla é uma tupla (e cada subconjunto de um cabeçalho é um cabeçalho).

    Certo.

    Select * from tabela:

    Retorna tuplas com todas as colunas, juntamente com os cabeçalhos (nomes das colunas)

    Select coluna1, coluna2 from tabela;

    Retorna tuplas com apenas 2 colunas, e seus relativos cabeçalhos



  • Ao contrário do que alguns colegas aqui estão afirmando vai a definição de conjunto:

    Nos conjuntos, a ordem e a quantidade de vezes que os elementos estão listados na coleção não é relevante. Em contraste, uma coleção de elementos na qual a multiplicidade, mas não a ordem, é relevante, é chamada multiconjunto. Dizemos que dois conjuntos são iguais se, e somente se, cada elemento de um é também elemento do outro.

  • Questão no mínimo estranha... Sobre a segunda afirmativa, creio que ela possa ser interpretada como correta. Segundo Elsmari, Sistemas de Banco de Dados 6ª Edição:

    "De acordo com a definição anterior de uma relação, uma tupla t é uma lista ordenada de n valores, de modo que a ordem dos valores em uma tupla é importante. No entanto, em um nível mais abstrato, a ordem dos atributos e seus valores não é tão importante, desde que a correspondência entre atributos e valores seja mantida.", página 42.

    "Uma relação é definida como um conjunto de tuplas. Matematicamente, os elementos de um conjunto não possuem ordem entre eles.", página 41.

    Isso tornaria a afirmativa II incorreta, "em um nível mais abstrato"... de toda forma, me parece mal formulada a questão.

  • Quanto ao item III, encontramos, com estas mesmas palavras, no livro do famoso C.J.Date (Introdução a Sistemas de Bancos de Dados, 8ª ed):

     

    [Capítulo 6, pág. 123, (Propriedades das Tuplas)]

    " Cada subconjunto de uma tupla é uma tupla (e cada subconjunto de um cabeçalho é um cabeçalho)..."

     

     

    Segue o link da referência : https://books.google.com.br/books?id=xBeO9LSlK7UC&pg=PA123&lpg=PA123&dq=subconjunto+de+uma+tupla+é+uma+tupla&source=bl&ots=xaTBm-va7H&sig=AOSigGOVWH8C_R5V0nJj6RHQ08g&hl=pt-BR&sa=X&ved=0ahUKEwjJ4KPGudHRAhWLGJAKHTodBocQ6AEIMzAE#v=onepage&q=subconjunto%20de%20uma%20tupla%20é%20uma%20tupla&f=false