Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-06-2009, 12:32   #1
sboby
Member
 
Iscritto dal: Jul 2007
Messaggi: 40
[mysql] Consiglio su progettazione database

E' giunta l'ora di provare a scrivere il mio primo sito dinamico . Ho deciso per un sito di recensioni musicali, con profili degli artisti e degli album. Nella progettazione del db ho avuto da subito qualche dubbio. Mi spiego. Ho una tabella "generi" con associazione N-N con 3 tabelle: artisti, album, utenti (per i generi preferiti).

Come è meglio agire in questi casi?
  • Creo 3 tabelle separate: generi_artisti, generi_album, generi_utenti
  • Creo un'unica tabella con un solo id per le tre tabelle e un campo che memorizza la tabella a cui ci si riferisce (idgenere, idaltro, tabella); dove idaltro può riferirsi alla chiave primaria di una delle tre tabelle
  • Creo un'unica tabella con 3 chiavi esterne(oltre a quella ovvia con riferimento alla tabella generi) per le 3 tabelle (idgenere, idartista, idalbum, idutente);

Stessa dubbio si ripresenta per i commenti e i voti! Un commento può essere riferito a un artista (nella pagina delle relativo profilo di quest'ultimo), a un utente o a una recensione. Il voto può essere dato a un album o alla recensione.

Vi sarei grato se mi chiariste le idee, grazie mille
__________________
Sboby's pc
Cpu: Intel Core2 Quad Q6600 | MoBo: Asus P5E | Ram: OCZ DDR2 PC2-8500 Platinum SLI-Ready | Vga: Twintech 9800Gtx 512Mb | Hdd: 2x Western Digital 250 Gb SataII 7200rpm | Case: Cooler Master Cosmos 1000 + Scythe S-FLEX 120mm fan 1600 rpm | Ali: Enermax 625w EPR625AWT PRO82+
sboby è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2009, 14:15   #2
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
il modo più corretto (scolasticamente parlando) per tradurre questo schema ER in uno schema DB è il seguente:

- Crei la tabella "Generi" per l'entità "Genere" (in realtà non è un'entità ma un attributo, ma conviene considerarlo come entità)

Per ogni entità in [ Artista, Album, Utente ]

- Crei una tabella che rappresentà l'entità (eg. Artisti)
- Crei una tabella associazione tra l'entità Genere e l'entità (eg. GenereArtista) che sarà composto da almeno 2 campi, una chiave esterna verso Genere ed una chiave esterna verso l'entità. Entrambi i campi andranno a comporre la chiave primaria della tabella.

Spero di essere stato utile
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2009, 15:06   #3
sboby
Member
 
Iscritto dal: Jul 2007
Messaggi: 40
Si si, ovvio che sono più entità separate. Il mio dubbio era su come giostrare le tabelle(o la tabella) che spezzano le N-N tra l'entità genere e le altre. Sul database attualmente è implementata la tua soluzione, solo che m'era venuto il dubbio .
Però non sò, ciò significa che se avessi 20 entità da collegare all'entità genere, dovrei fare 20 tabelle per spezzare ogni N-N! Oppure in quel caso sarebbe meglio optare per la soluzione ad unica tabella MMM.

Naaaa, forse è meglio come avevo già fatto. Mi faccio sempre ste seghe mentali inutili

Grazie mille
__________________
Sboby's pc
Cpu: Intel Core2 Quad Q6600 | MoBo: Asus P5E | Ram: OCZ DDR2 PC2-8500 Platinum SLI-Ready | Vga: Twintech 9800Gtx 512Mb | Hdd: 2x Western Digital 250 Gb SataII 7200rpm | Case: Cooler Master Cosmos 1000 + Scythe S-FLEX 120mm fan 1600 rpm | Ali: Enermax 625w EPR625AWT PRO82+
sboby è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
Il JPL estende la vita operativa della s...
DAZN Full è in offerta: tutta la ...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Le 10 offerte TOP in Amazon del weekend:...
Dyson, doppio crollo su Amazon: purifica...
Il 70% delle imprese non vede effetti de...
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: 23:29.


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