Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13

Discussione: Ennupla e tupla

  1. #11
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    21
    il mio dubbio deriva di base dal fatto che almeno in un db relazionale la posizione di un elemento all'interno del record non dovrebbe essere irrilevante?

  2. #12
    Utente di HTML.it L'avatar di Nikopol
    Registrato dal
    Jan 2011
    Messaggi
    120
    Non vorrei averti forviato con la storia delle liste. Tubla e enupla sono quasi la stessa cosa. Un enupla è una tupla di lungezza n.
    il mio dubbio deriva di base dal fatto che almeno in un db relazionale la posizione di un elemento all'interno del record non dovrebbe essere irrilevante?
    Tu sei liberissimo di creare una tabella specificando il tipo (e il nome) di ogni attributo nell'ordine che vuoi.
    Ad esempio creando una tabella del genere
    codice:
    CREATE TABLE PERSONA
    (
        ID int PRIMARY KEY,
        NOME varchar2(200),
        ETA int
    )
    stai dicendo che ogni record di PERSONA avrà come tipo una tupla di tipo (Int, Varchar2, Int).
    Hai quindi definito un ordinamento sul tipo dei vari attributi.
    Questo vuol dire che per fare un inserimento dovrai per forza rispettare l'ordinamento che hai imposto durante la creazione della tabella.
    Un inserimento del genere sarà quindi corretto:
    codice:
    INSERT INTO PERSONA VALUES (1, "Pippo", 30)
    mentre ibvece uno del genere:

    codice:
    INSERT INTO PERSONA VALUES ("Pippo", 30, 1)
    sarà sbagliato proprio perchè non hai rispettato l'ordinamento dei tipi dei valori che stai inserendo.

    Ora, il concetto di ordinamento di una tupla si basa soltanto sul tipo degli attributi e non sul significato che i valori possono assumere.
    Inserire record come (1000, "Pippo", 1) e (1, "Pippo", 1000) è corretto, in quanto entrambe le tuple rispettano il tipo di PERSONA, ma semanticamente sono cose completamente diverse. Queste sono questioni che riguardano la persona che tratta i dati.


    C'è però una cosa da specificare, a livello fisico l'ordinamento vale sempre e comunque, indipendentemente dal tipo di file che contiene una relazione.
    A livello logico invece esistono modi per aggirare apparentemente questo ordinamento. Questo è possibile grazie al fatto che durante la creazione di una tabella viene specificato non solo il tipo di un attributo ma anche un etichetta associata, ovvero il nome (id, nome, età, ..).
    È dunque possibile inserire una tupla non ordinata a patto che si specifichi anche una tupla di etichette/nomi, ordinata rispetto all'ordine dei valori passati, in modo che il DBMS sia in grado di ricreare l'ordinamento originale.
    Ad esempio la seguente query è corretta
    codice:
    INSERT INTO PERSONA (NOME, ETA, ID)    -- (ordinamento diverso rispetto quello originale)
    VALUES ("Pippo", 30, 1)
    La Guida Galattica è infallibile.
    È la realtà, spesso, ad essere inesatta.

  3. #13
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    21
    davvero grazie per l'ottima spiegazione, anche grazie agli esempi pratici, perch� altrimenti non recuperavo questo passaggio da ennupla in senso puramente matematico a ennupla all'interno di un database, mentre un ordine sottostante degli elementi lo devo comunque rispettare e la domanda come faceva notare optime faceva perdere di senso, infatti era questo il mio dubbio, risolto! grazie ancora optime Nikopol

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.