Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [DB] Normalizzazione

  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    [DB] Normalizzazione

    Ciao a tutti,

    avrei una domanda da fare circa il processo di normalizzazione.

    Ho un DB che presenta tra le altre cose una tabella apposita per i PROGRAMMI dei CORSI di un'associazione.

    Questa tabella è composta da:

    -PROGRAMMI-
    ID programma
    ID Livello (chiave esterna presa dalla tabella dei Livelli dei vari corsi)
    Oraro di inizio
    Orario di fine

    es:

    "Corso di Inglese"

    "Programma1":
    -Livello Base
    -dalle 17.00 alle 18.00
    -martedì e giovedì.

    Quello che vorrei sapere è relativo ai GIORNI ovvero, un programma si può tenere in 1 o più giorni alla settimana per tutto l'anno così come, ovviamente, i vari giorni saranno associati a diversi programmi.

    Quella che si viene a creare è quindi una relazione MOLTI a MOLTI M:N (tra programmi e giorni) ma la domanda è:

    Come si gestiscono le relazioni M:N per quegli intervalli di valori FINITI e comuni come appunto i giorni della settimana o i mesi dell'anno ecc.


    io ho creato 3 tabelle
    PROGRAMMI (vedi sopra)
    PROGRAMMI_GIORNI (ID programma, ID giorno)
    GIORNI (ID giorno, nome_del_giorno).

    ma avrei forse potuto anche fare:
    PROGRAMMI (vedi sopra)
    PROGRAMMI_GIORNI (ID programma, nome_del_giorno)

    avrei una ridondanza nei nomi dei giorni es:
    1 - lunedì
    1 - giovedì
    2 - martedì
    3 - lunedì
    3 - martedì
    ...

    ma una tabella in meno!

    oppure:
    PROGRAMMI (ID programma,ora inizio,ora fine,livelloID,lunedì,martedì,mercoledì ....)

    con 7 campi da "spuntare" a seconda dei giorni interessati dal programma.


    In definitiva:

    In un caso "normale" laddove la seconda tabella può aumentare i propri valori il modo più corretto è quello di avere i valori in una tabella a parte e risolvere M:N con una tabella di collegamento ma in questo caso che sò per certo che i valori non cambiano come si procede nel modo più corretto con l'opera di normalizzazione?

    GIORNI può essere definito a tutti gli effetti un "SOGGETTO" della base dati e quindi meritare una tabella a se?!

    Spero di essere stato sufficientemente chiaro e vi ringrazio anticipatamente per le risposte.



  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    up

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 © 2025 vBulletin Solutions, Inc. All rights reserved.