Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-12-2006, 17:27   #1
anonimizzato
 
Messaggi: n/a
[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.
  Rispondi citando il messaggio o parte di esso
Old 17-12-2006, 19:13   #2
giannola
Senior Member
 
L'Avatar di giannola
 
Iscritto dal: Oct 2005
Città: Palermo
Messaggi: 2579
in linea concettuale si, nel senso che i giorni sono entità, però poichè non variano(ovvero sono al massimo 7), nella normalizzazione fai prima a fare due campi testuali uno relativo agli orari ed uno relativo ai giorni.
__________________
Utente gran figlio di Jobs ed in via di ubuntizzazione
Lippi, perchè non hai convocato loro ?
giannola è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 07:59   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Sgurbat
PROGRAMMI (vedi sopra)
PROGRAMMI_GIORNI (ID programma, nome_del_giorno)
Va bene così, a meno che tu non voglia determinare un vincolo sull'inserimento dei dati nella relazione...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 11:02   #4
giannola
Senior Member
 
L'Avatar di giannola
 
Iscritto dal: Oct 2005
Città: Palermo
Messaggi: 2579
Quote:
Originariamente inviato da cionci
Va bene così, a meno che tu non voglia determinare un vincolo sull'inserimento dei dati nella relazione...
se segui il consiglio di cionci non dimenticare di aggiungere nella tabella PROGRAMMI_GIORNI anche ora_inizio e ora_fine
__________________
Utente gran figlio di Jobs ed in via di ubuntizzazione
Lippi, perchè non hai convocato loro ?
giannola è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 11:44   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da giannola
se segui il consiglio di cionci non dimenticare di aggiungere nella tabella PROGRAMMI_GIORNI anche ora_inizio e ora_fine
Se l'orario è costante va bene dove l'ha messo, anzi è la selta migliore...
La tabella PROGRAMMI_GIORNI diventa tuttachiave...

Ultima modifica di cionci : 18-12-2006 alle 11:47.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 16:59   #6
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Se l'orario è costante va bene dove l'ha messo, anzi è la selta migliore...
La tabella PROGRAMMI_GIORNI diventa tuttachiave...
In che senso se l'orario è costante?

Grazie a tutti per le risposte.

Alla luce di tutto ciò mi pare che chiaro allora che alla fine quando si lavora con una base dati i cui i dati incrociano spesso con elementi temporali come appunto GIORNI, MESI, ANNI (in range fisso) essi vanno trattati come Entità a parte e quindi scomposti in singole tabelle giusto?

Scusate ma sono niubbo ed autodidatta su ste cose.


Ultima modifica di anonimizzato : 18-12-2006 alle 17:02.
  Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 17:05   #7
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Va bene così, a meno che tu non voglia determinare un vincolo sull'inserimento dei dati nella relazione...
Uhm ... nel senso di accettare solo i valori che IO ho definito nella tabella GIORNI e non tramite l'input dell'utente?

Teoricamente questa cosa sarebbe bypassabile dall'interfaccia utente ad esempio una select con valori predefiniti o meglio ancora vista la scelta multipla dei checkbox.
  Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 17:09   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Sgurbat
Teoricamente questa cosa sarebbe bypassabile dall'interfaccia utente ad esempio una select con valori predefiniti o meglio ancora vista la scelta multipla dei checkbox.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 17:10   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Sgurbat
In che senso se l'orario è costante?
Costante rispetto ai giorni... Cioè se per tutti i giorni in cui c'è un determinato corso l'orario è sempre lo stesso...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 17:57   #10
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Costante rispetto ai giorni... Cioè se per tutti i giorni in cui c'è un determinato corso l'orario è sempre lo stesso...
Si è così l'orario è fisso per il CORSO o meglio il singolo PROGRAMMA perchè per corso intedo la categoria dei vari livelli disponibili.

Cmq ok capito.

P.S.
Avreste qualche buona risorsa sia sul web che digitale da indicarmi circa il processo di progettazione e normalizzazione di un DB?

Ho già letto "Progettare Database" di M.Hernandez (davvero ottimo) ma vorrei andare oltre. Nulla di troppo complicato però non ho conoscenze ed esigenze di tipo universitario.

Bye.
  Rispondi citando il messaggio o parte di esso
Old 18-12-2006, 18:28   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quel libro che hai studiato tratta le forme normali ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2006, 18:38   #12
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Quel libro che hai studiato tratta le forme normali ?
Diciamo di si, anche se non in modo "accademico" o per meglio dire scentifico:

es:
"Una base dati si può definire in 1NF se ... ecc."

Nel libro, indicato per chi non abbiamo conoscienze specifiche, viene trattato il processo di progettazione con un metodo "innovativo" di linee guide basate sul "prototipo di tabella ottimale".

Da ciò ne derivano comunque le indicazioni sulla risoluzione dei campi multivalore, delle relazioni M:N come si tratterebbero in ogni altro caso.

Mi piacerebbe andare, se possibile, più sul tecnico senza addentrarmi in dettagli matematici troppo ostici come algoritmi ecc.

Diciamo che per il momento conosco l'ABC, ora vorrei impare "DEF".

Grazie ancora.
  Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
La navicella spaziale indiana Gaganyaan ...
Le macchie sullo scudo termico di Orion ...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:33.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v