2012-07-03 10 views
5

W SOA nie wiedziałem, w jaki sposób usługa, która działa z danymi z różnych baz danych, lub nawet z różnych usług, może mieć integralność referencyjną, dzięki czemu minimalne dane są duplikowane w bazach danych lub usługach.Referencyjna integralność danych między usługami

Na przykład, masz tabelę użytkowników w jakiejś bazie danych uwierzytelniających i chcesz ponownie użyć tych informacji o użytkowniku w innej bazie danych. Należy również wymusić istnienie rekordu użytkownika w bazie danych uwierzytelniania. Załóżmy, że chcesz powiązać konto użytkownika w bazie danych uwierzytelniania z artykułem prasowym w innej bazie danych. Jak to się robi? Jak zrobiłbyś to używając czegoś takiego jak LDAP?

Jeśli informacje uwierzytelniające były zawarte w tej samej bazie danych, tylko w innej tabeli, to mogłem zobaczyć, jak można po prostu użyć kluczy obcych, aby utworzyć powiązanie między artykułem prasowym a kontem użytkownika.

Próbowałem szukać odpowiedzi na ten temat, ale muszę używać niewłaściwych fraz, ponieważ nie wymyślę niczego użytecznego.

+1

Integralność referencyjna i normalizacja bazy danych to nie to samo. Ale wydaje się, że używasz tych terminów zamiennie. – Yuck

Odpowiedz

1

Niektóre platformy dopuszczają ograniczenia klucza obcego między bazami danych, a niektóre nie. Jeśli potrzebujesz referencyjnej spójności między bazami danych, musisz wybrać platformę, która je obsługuje. Normalizacja - inny problem - nigdy nie mówi "przenieś te kolumny do innej bazy danych".

W bazie danych dla wielu dzierżawców zazwyczaj wybiera się inną architekturę. (Normalnie nie uwierzytelniłbyś wszystkich użytkowników w jednej bazie danych i nie zostali uwierzytelnieni w innej bazie danych).

Przeglądaj pytania oznaczone jako "multi-tenant"; to może być termin, który ci pomoże. MSDN ma dość dobry widok z lotu ptaka.