2012-07-03 13 views
5

In SOA sono stato confuso su come un servizio che funziona con dati provenienti da diversi database, o anche servizi diversi, possa avere integrità referenziale in modo che i dati minimi vengano duplicati tra database o servizi.Integrità referenziale dei dati tra i servizi

Ad esempio, si dispone di una tabella utente in un tipo di database di autenticazione e si desidera riutilizzare queste informazioni utente in un altro database. Si desidera anche applicare il record dell'utente in questione nel database di autenticazione. Supponiamo che tu voglia associare l'account di un utente nel database di autenticazione con un articolo di notizie in un altro database. Come è fatto? Come faresti usando qualcosa come LDAP?

Se le informazioni di autenticazione erano contenute nello stesso database, solo una tabella diversa, allora potevo vedere come si potevano semplicemente usare chiavi esterne per creare un'associazione tra un articolo di notizie e l'account utente.

Ho cercato di cercare risposte su questa preoccupazione, ma devo usare le frasi sbagliate perché non mi viene in mente nulla di utile.

+1

L'integrità referenziale e la normalizzazione del database non sono la stessa cosa. Ma sembra che tu stia usando quei termini in modo intercambiabile. – Yuck

risposta

1

Alcune piattaforme consentono vincoli di chiavi esterne tra database e altre no. Se hai bisogno dell'integrità referenziale tra i database, devi scegliere una piattaforma che la supporti. Normalizzazione: un altro problema: mai dire "sposta queste colonne in un altro database".

In un database multi-tenant, di solito scegli una diversa architettura. (Normalmente non si mette l'autenticazione per tutti gli utenti in un database e le cose che sono autenticate per l'uso in un altro.)

Sfoglia le domande contrassegnate come "multi-tenant"; quello potrebbe essere un termine che ti aiuterà. MSDN ha una buona vista a volo d'uccello.

Problemi correlati