Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-10-2010, 10:02   #1
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
[Database] Id esterno che punta a più tabelle

Mi trovo sempre di fronte al problema di come poter rappresentare al meglio una situazione in cui una tabella possa essere collegata a più tabelle tramite lo stesso campo.
Ad esempio ho una tabella generica per la descrizione dello stato di un servizio, e voglio legare questa tabella con le informazioni del servizio.
Ovviamente ogni servizio ha i propri dati e quindi ha una propria tabella.
Dato che nuovi servizi vengono aggiunti frequentemente e che comunque sono abbastanza numerosi (avere una trentina di chiavi esterne non mi sembra il massimo), la soluzione al momento è di avere una tabella TabellaServizi di appoggio contenente i valori Id-NomeTabella e nella tabella Servizi generica avere 2 colonne una con FK verso TabellaServizi e l'altra con Id non legato da alcun vincolo referenziale ma che indica l'Id del servizio vero e proprio. Per il recupero dei dati utilizzo viste specifiche che eseguono la join con la tabella indicata in TabellaServizi, perchè ovviamente le ricerche avvengono contestualmente ad un solo servizio.

Qualcuno ha una soluzione migliore?
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2010, 10:41   #2
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
non sono sicuro di aver capito esattamente il tuo problema, ma se non ho capito totalmente un'altra cosa, forse questo puó esserti utile anche se in realtá questa soluzione é una traduzione di una gerarchia di classi.

Codice:
CREATE TABLE [Types]
(
	ID INT NOT NULL PRIMARY KEY,
	Name NVARCHAR(64) NOT NULL
)

CREATE TABLE BaseClass
(
	ID INT NOT NULL PRIMARY KEY IDENTITY (1,1),
	FKTypeID INT NOT NULL REFERENCES [Types](ID),
	UNIQUE (ID, FKTypeID)
	-- Additional base class fields here
)

CREATE TABLE SubClass1
(
	FKBaseID INT NOT NULL REFERENCES BaseClass(ID),
	FKTypeID AS (1) PERSISTED NOT NULL,
	FOREIGN KEY (FKBaseID, FKTypeID) REFERENCES BaseClass(ID, FKTypeID)
	-- Specific fields here
)

CREATE TABLE SubClass2
(
	FKBaseID INT NOT NULL REFERENCES BaseClass(ID),
	FKTypeID AS (2) PERSISTED NOT NULL,
	FOREIGN KEY (FKBaseID, FKTypeID) REFERENCES BaseClass(ID, FKTypeID)
	-- Specific fields here
)
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2010, 11:16   #3
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
puoi fare un esempio pratico in modo da inquadrare bene il dominio del problema?
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2010, 11:25   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
In parte si. Fondamentalmente è una gerarchia di classi che estendono la classe base che contiene solo le informazioni comuni.
Il problema è che altre entità del database (es ordini, utenti ecc.) fanno riferimento solo alla tabella base, quindi è questa che deve essere legata alle "tabelle derivate" per consentire di recuperare i dettagli del servizio.
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Apple conferma che l'arrivo della 'nuova...
Le vendite di Square Enix sono in netto ...
iPhone 17e si mostra in un video 'first ...
Il nuovo Xiaomi Watch 5 è pronto ...
Steam Deck è out of stock in dive...
Le migliori offerte Amazon del weekend, ...
PC più potente, meno spesa: su Amazon ta...
Amazon Haul: come fare acquisti 'pazzi' ...
Threads permetterà agli utenti di...
Monitor gaming in offerta su Amazon: 180...
Samsung vuole riconquistare la leadershi...
L'app di YouTube per Apple Vision Pro &e...
Fastweb + Vodafone: clienti e ricavi in ...
Artemis II: nuovo test prima del Wet Dre...
GTA 6 gratis se nasce un figlio il giorn...
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:38.


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