2012-07-03 30 views
5

Trong SOA, tôi đã nhầm lẫn về cách dịch vụ hoạt động với dữ liệu từ các cơ sở dữ liệu khác nhau, hoặc các dịch vụ khác nhau, có thể có tính toàn vẹn tham chiếu sao cho dữ liệu tối thiểu được nhân đôi trên cơ sở dữ liệu hoặc dịch vụ.Tính toàn vẹn tham chiếu của dữ liệu giữa các dịch vụ

Ví dụ: bạn có bảng người dùng trong một số loại cơ sở dữ liệu xác thực và bạn muốn sử dụng lại thông tin người dùng này trong cơ sở dữ liệu khác. Bạn cũng muốn thực thi hồ sơ của người dùng đó trong cơ sở dữ liệu xác thực. Giả sử bạn muốn liên kết tài khoản của người dùng trong cơ sở dữ liệu xác thực với một bài viết tin tức trong cơ sở dữ liệu khác. Làm thế nào là thực hiện? Làm thế nào bạn sẽ làm điều đó bằng cách sử dụng một cái gì đó như LDAP?

Nếu thông tin xác thực được chứa trong cùng một cơ sở dữ liệu, chỉ cần một bảng khác, thì tôi có thể thấy cách bạn có thể sử dụng khóa ngoài để tạo liên kết giữa bài viết tin tức và tài khoản người dùng.

Tôi đã cố gắng tìm kiếm câu trả lời về mối quan tâm này nhưng tôi phải sử dụng cụm từ sai vì tôi không nghĩ ra điều gì hữu ích.

+1

Tính toàn vẹn tham chiếu và chuẩn hóa cơ sở dữ liệu không giống nhau. Nhưng bạn dường như đang sử dụng những thuật ngữ này thay thế cho nhau. – Yuck

Trả lời

1

Một số nền tảng cho phép các ràng buộc khóa ngoài giữa các cơ sở dữ liệu và một số thì không. Nếu bạn cần tính toàn vẹn tham chiếu giữa các cơ sở dữ liệu, bạn cần phải chọn một nền tảng hỗ trợ nó. Bình thường hóa - một vấn đề khác - không bao giờ nói "di chuyển các cột này sang một cơ sở dữ liệu khác."

Trong cơ sở dữ liệu nhiều bên thuê, bạn thường chọn một kiến ​​trúc khác. (Bạn thường không đặt xác thực cho tất cả người dùng trong một cơ sở dữ liệu và những thứ họ được xác thực để sử dụng trong cơ sở dữ liệu khác.)

Duyệt các câu hỏi được gắn thẻ "nhiều người thuê nhà"; đó có thể là một thuật ngữ sẽ giúp bạn. MSDN có chế độ xem mắt khá tốt.

Các vấn đề liên quan