Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-09-2006, 20:48   #1
anonimizzato
 
Messaggi: n/a
Progetto Database

Ciao a tutti,

in questi giorni, con molta umiltà, stavo cercando di implementare la struttura di un Database per un sito che amministro da un pò di tempo che per ora è totalmente statico.

Il sito è www.lalocomotivaweb.it

quello che volevo fare era creare un DB che archiviasse le numerose informazioni sui corsi principalmente.

Pur non essendo certo difficile ho notato che dai dati presenti si venivano a creare moltre relazioni M:N (molti a molti)

Ora ho "risolto" in questo modo (nel file allegato).

Volevo sapere, alla luce di quello che potete vedere da sito, se il DB regge oppure ci sono errori macroscopici o mancanze.

Allego anche uno screenshot.

Grazie a tutti coloro che vorranno darmi un aiuto o suggerimento.

Scusate ma è il mio primo progetto.

Cerco di spiegare un pò le tabelle

Corso: identificazione generica dei vari programmi, es:
Corso di inglese di 1° livello (base)
Corso di inglese di 2° livello (medio)
ecc.

CORSI:
Nella quasi totalità dei casi hanno informazioni generiche quale il costo, la durata in mesi, il metodo di insegnamento utilizzato, il luogo di svolgimento (ovvero le aule e non le palestre ad esempio.) e sono comuni per tutti i livelli.

LIVELLI:
Ovvero una delle varie parti del Corso (se inteso come categoria)
In inglese potrebbe essere inteso in base al livello di insegnamento mentre in informatica in base al software studiato, in ginnastica se per adulti o per ragazzi ecc.

PROGRAMMA:
è la mega tabella di collegamento che ho creato per identificare in modo univoco le relazioni:
un programma può essere

ProgrammaID
Corso: INGLESE
Livello: Livello 1
Giorno: martedì
Orario da: 18.00
Orario a: 20.00
Luogo: Aule corsi
Ciclo: dal 07/10/2006 al 04/02/2007



il ciclo è importante per esempio perchè uno stesso identico corso potrebbe essere fatto più avanti ma sempre nello stesso posto allo stesso giorno con gli stessi orari ecc.
in questo modo ho un record PROGRAMMAID "univoco".

CICLI:
Una sorta di periodo di svolgimento, lo hanno solo alcuni corsi, ed immaginatelo come i trimestri i scuola.
Dal DATA al DATA

LIVELLI_INFORMATICA
Lo impostata solo come sotto-tabella dei corsi di informatica che in base al livello studiato cambiano in durata e costi in quanto non esiste un valore univoco di costo e durata come per gli altri corsi questo per evitare di aver nella tabella LIVELLI dei campi quasi sempre vuoti come "numero lezioni", "numero ore", "costo" associate solo ai corsi di informatica.

Ultima modifica di anonimizzato : 25-07-2007 alle 20:51.
  Rispondi citando il messaggio o parte di esso
Old 15-09-2006, 21:23   #2
anonimizzato
 
Messaggi: n/a
uppettino
  Rispondi citando il messaggio o parte di esso
Old 15-09-2006, 23:06   #3
vetto78
Member
 
L'Avatar di vetto78
 
Iscritto dal: Nov 2000
Città: Treviso
Messaggi: 158
Mi potresti spiegare meglio che tipo di informazioni ti servono?
Il tuo schema secondo me si può semplificare ma vorrei capire cosa ti serve e cosa no...
vetto78 è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 10:44   #4
anonimizzato
 
Messaggi: n/a
Ciao,

quello che mi serve è mostrare sulle pagine del sito tutti i vari programmi disponibili per i corsi presentati sul sito www.lalocomotivaweb.it

Ogni Corso come vedi ha dei dati comuni quali: LUOGO, COSTO, DURATA, METODO, ecc. (anche se non sempre)

e poi una differenziazione per i LIVELLI (se ve ne sono, altrimenti si intende come UNICO) circa: GIORNI, ORARI, CICLO (periodo da/a) ecc.

quello che vorrei fare è avere meno dati ridondati possibili ed una struttura efficiente senza impazzire nel mare di relazione 1:N M:N che presenterebbe.

Quello che non mi serve è qualcosa a livello di UTENTE in quanto non esiste interazione, tipo iscirizioni online ecc. è solo una vetrina dei Corsi proposti.

Ho aperto un thread qua

dove un utente mi dice che il DB non è male, ma credo anch'io si possa fare qualcosa per migliorarlo.

Grazie per la risposta.

Ultima modifica di anonimizzato : 16-09-2006 alle 10:47.
  Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 11:34   #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
Mi sembra che vada bene...duplicazioni non ne vedo...

Fammi capire la relazioni luogo-programma...
Io metterei una relazione luogo-corso...ma bisogna vedere se è corretta...
Lo stesso corso si può svolgere in più luoghi ? In questo momento stai esprimendo che lo stesso programma si può svolgere in più luoghi...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 11:54   #6
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Mi sembra che vada bene...duplicazioni non ne vedo...

Fammi capire la relazioni luogo-programma...
Io metterei una relazione luogo-corso...ma bisogna vedere se è corretta...
Lo stesso corso si può svolgere in più luoghi ? In questo momento stai esprimendo che lo stesso programma si può svolgere in più luoghi...
Si esatto si può svolgere in più luoghi

guarda il corso di ginnastica ad esempio:http://www.lalocomotivaweb.it/corsi-di-ginnastica.htm

Lo stesso corso può svolgersi in diverse palestre quindi mi sembrava giusto metterlo a livello di PROGRAMMA come si vede.

Quello che hanno in comune e che è condiviso a livello di CORSI è la durata, la frequenza settimanale, il costo, l'insegnate ecc.

GINNASTICA DOLCE e GINNASTICA DI MANTENIMENTO, che hanno quote, diverse, li tratti a tutti gli effetti come corsi diversi ... anche perchè lo sono pur essendo sempre "ginnastica".
  Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:05   #7
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
Però allora non capisco la distinzione fra Programma e Corso...

Prendendo come esempio quella pagina sai dirmi come verrebbero composte le tabelle Programma e Corso ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:08   #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
ok ok ci sono arrivato...va bene... Io eliminerei la relazione Ciclo... Sei sicuro che siano preventivabili cicli successivi a quello corrente ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:13   #9
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Però allora non capisco la distinzione fra Programma e Corso...

Prendendo come esempio quella pagina sai dirmi come verrebbero composte le tabelle Programma e Corso ?
è perchè se no dovrei ripetere una marea di informazioni per ogni PROGRAMMA e alla fine mi verrebbe fuori un foglio di excel e non un DB

Cmq vedo che l'avevi notato
  Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:15   #10
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
ok ok ci sono arrivato...va bene... Io eliminerei la relazione Ciclo... Sei sicuro che siano preventivabili cicli successivi a quello corrente ?
Nei corsi di informatica http://www.lalocomotivaweb.it/corsi-di-informatica.htm

Ci sono ad esempio 4 cicli

1° Ciclo
02 Ottobre 2006
2° Ciclo
27 Novembre 2006
3° Ciclo
05 Febbraio 2007
4° Ciclo
02 Aprile 2007

In questo caso non è specificata la data di fine per ogni ciclo quindi pensavo di fare in modo da renderla facoltativa nell'interfaccia (PHP)
  Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:20   #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
Ho capito anche ciclo...ok...va bene, ma non mi torno una cosa...
Posto così com'è in luoghi diversi non potresti realizzare cicli diversi...ti torna ? Secondo me cicli dovrebbe avere come FK programma_id e dovrebbe essere una relazione tutta chiave... L'ciclo_id in questo caso è una informazione non necessaria...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:23   #12
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
Anche livelli secondo me ha qualche problema... Tutti i livelli del corso costano uguale ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:28   #13
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Ho capito anche ciclo...ok...va bene, ma non mi torno una cosa...
Posto così com'è in luoghi diversi non potresti realizzare cicli diversi...ti torna ? Secondo me cicli dovrebbe avere come FK programma_id e dovrebbe essere una relazione tutta chiave... L'ciclo_id in questo caso è una informazione non necessaria...
Umh spetta perchè non ho capito bene ..
  Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:30   #14
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Anche livelli secondo me ha qualche problema... Tutti i livelli del corso costano uguale ?
No esatto se vedi livelli_informatica vedrai che ho aggiunto un campo circa la quota di partecipazione che è diversa a seconda che uno faccia WORD oppure WINDOWS.

quindi ho due campi "quota di partecipazione" sia in CORSI che LIVELLI_INFORMATICA.

Dici che debba spostare questo campo in PROGRAMMI?

Il fatto è che non avviene quasi mai questa differenziazione a livello di PROGRAMMA.
  Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:36   #15
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Ho capito anche ciclo...ok...va bene, ma non mi torno una cosa...
Posto così com'è in luoghi diversi non potresti realizzare cicli diversi...ti torna ? Secondo me cicli dovrebbe avere come FK programma_id e dovrebbe essere una relazione tutta chiave... L'ciclo_id in questo caso è una informazione non necessaria...
Ok forse ho capito:

intendi una tabella CICLI tipo:

PogrammaID
data_da
data_a

dove programmaID è PK e FK contemporaneamente.

quindi a tutti gli effetti una tabella sottoinsieme di PROGRAMMI che mette le informazioni del periodo solo per quei programmi che hanno cilci diversi giusto?
  Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:38   #16
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
Per ogni luogo in cui il corso si svolge c'è una tupla nella relazione programmi, ok ?
In questa tupla di programmi quindi ci sono orari e giorni diversi per ogni luogo, ma non puoi avere cicli in date diverse !!!

Senza contare che hai gli stessi cicli per ogni livello del corso...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:41   #17
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
Ok forse ho capito:

intendi una tabella CICLI tipo:

PogrammaID
data_da
data_a

dove programmaID è PK e FK contemporaneamente.

quindi a tutti gli effetti una tabella sottoinsieme di PROGRAMMI che mette le informazioni del periodo solo per quei programmi che hanno cilci diversi giusto?
No, la tabella deve essere tutta chiave...in pratica la PK è (PogrammaID,data_da,data_a)

Select * from Cicli where programma_id = XXXX;

ti ritorna tutti i cicli di un dato programma...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 12:56   #18
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
Ricapitolando i farei qualche modifica...a meno di non scriversi tutto a penna e portarla in una forma normale, io farei così:

Categorie(id_categoria (PK), nome, descrizione)
Corsi(id_corso (PK), id_categoria (PK), nome, descrizione)
Livelli(id_livello (PK), id_corso (FK), costi, rate, allievi, insegnanti e così via)
Luoghi(id_luogo (PK), ...così com'è ora)
Programmi(id_programma (PK), id_livello (FK), id_luogo (FK), orari vari)
Cicli(id_programma, da, a) tutta chiave
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 13:08   #19
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Ricapitolando i farei qualche modifica...a meno di non scriversi tutto a penna e portarla in una forma normale, io farei così:

Categorie(id_categoria (PK), nome, descrizione)
Corsi(id_corso (PK), id_categoria (PK), nome, descrizione)
Livelli(id_livello (PK), id_corso (FK), costi, rate, allievi, insegnanti e così via)
Luoghi(id_luogo (PK), ...così com'è ora)
Programmi(id_programma (PK), id_livello (FK), id_luogo (FK), orari vari)
Cicli(id_programma, da, a) tutta chiave
Azz... però così in Livelli avrei una marea di dati ridondanti circa costi, rate, insegnanti, allievi ecc. che tranne per informatica ed altri pochi casi sono generici a livello di corso.
  Rispondi citando il messaggio o parte di esso
Old 16-09-2006, 13:16   #20
anonimizzato
 
Messaggi: n/a
Quote:
Originariamente inviato da cionci
Per ogni luogo in cui il corso si svolge c'è una tupla nella relazione programmi, ok ?

Quote:
In questa tupla di programmi quindi ci sono orari e giorni diversi per ogni luogo,
Eatto perchè un uno o più programmi si possono svolgere nello stesso luogo

Quote:
ma non puoi avere cicli in date diverse !!!
Non ho capito mi potresti fare un esempio?

Quote:
Senza contare che hai gli stessi cicli per ogni livello del corso...
Si perchè più livelli di un corso si svolgono nello stesso periodo e poi, magari, il tutto riprende uguale in caso di nuovo ciclo.
Non vedo il problema
  Rispondi citando il messaggio o parte di esso
 Rispondi


Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Un dissipatore che non richiede energia ...
Con Maia 200 Microsoft alza l'asticella ...
La Cina impone requisiti anche per lo st...
Apple lancia AirTag aggiornato: range es...
Microsoft risolve i blocchi di Outlook: ...
OpenAI verso il disastro finanziario? L’...
X nei guai: l'UE indaga sui pericoli del...
Caso Corona-Signorini: il giudice blocca...
470 petaFLOPS con una frequenza di 56 GH...
WhatsApp: abbonamento per rimuovere la p...
Xiaomi Redmi Note 15 in promozione: smar...
NVIDIA investe 2 miliardi in CoreWeave: ...
Chery lancia con Lepas la piattaforma LE...
Xiaomi, nuovi sconti sui grandi elettrod...
Google AI Overviews preferisce YouTube a...
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: 17:33.


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