Definição – o que significa Surrogate Key?
Uma chave substituta é um identificador exclusivo usado em bancos de dados para uma entidade modelada ou um objeto. É uma chave única cujo único significado é atuar como o identificador primário de um objeto ou entidade e não é derivada de nenhum outro dado no banco de dados e pode ou não ser usada como a chave primária. A chave substituta usual usada é um número sequencial exclusivo.
Definirtec explica Surrogate Key
Uma surrogate key representa uma entidade que existe no mundo externo e é modelada dentro do banco de dados e tornada visível para o aplicativo e o usuário, ou pode representar um objeto dentro do próprio banco de dados e ser invisível para o usuário e o aplicativo. Em ambos os casos, a surrogate key é gerada internamente.
Uma surrogate key nem sempre é usada como uma chave primária e isso depende se o banco de dados é do tipo atual ou temporal. Um banco de dados atual apenas armazena dados atuais válidos e requer uma associação um para um entre a chave substituta no mundo modelado e a chave primária do banco de dados, caso em que o substituto pode atuar como a chave primária. No entanto, em um banco de dados temporal, há uma associação muitos para um entre as chaves primárias e a surrogate key, o que significa que pode haver vários objetos no banco de dados que estão associados à surrogate key, portanto não pode ser usado como uma chave primária.
Uma chave substituta tem as seguintes características:
- O valor nunca é reutilizado e é único em todo o sistema.
- É gerado pelo sistema.
- O valor não pode ser manipulado pelo usuário ou aplicativo.
- O valor não é um amálgama de valores diferentes de vários domínios.