我需要存储多台计算机的服务列表。我想我会创建一个表来保存所有可能的表的列表,一个用于所有可能的计算机的表,然后是一个将服务链接到计算机的表。
我正在考虑保持完整服务列表的唯一性,我可以使用可执行文件的哈希作为服务的主键,但我不确定这是否会有任何缺点(请注意,哈希仅适用于识别。不用于任何类型的安全目的)。我在考虑而不是使用二进制字段作为主/外键,而是将值存储为 base 64 编码的 sha512,并使用nvarchar(88)
. 与此类似的东西:
CREATE TABLE Services
(
ServiceHash nvarchar(88) NOT NULL,
ServiceName nvarchar(256) NOT NULL,
ServiceDescription nvarchar(256),
PRIMARY KEY (ServiceHash)
)
此解决方案是否存在任何固有问题?(我将使用 SQL 2008 数据库并通常通过 C#.Net 访问它)。