我正在创建一个简单的表,称为Photo
存储表中定义的人员/组的照片User
。我正在使用 Microsoft SQL Server 的FILESTREAM
功能,因为所有其他用户数据都已存储在 SQL Server 中,并且当对象与数据库。
每个用户一次只能有一张与他们关联的照片(目前,但将来可能会改变),并且FILESTREAM
需要一个GUID
列来引用它存储到磁盘的文件,所以这是我想出的模型对于Photo
:
UserID int NOT NULL UNIQUE
PhotoID uniqueidentifier ROWGUIDCOL NOT NULL
PhotoBitmap varbinary(MAX) FILESTREAM NULL
我的问题是(如果这个模型对我的应用程序是正确的),我应该使用PhotoID
作为主键,看看它已经是唯一的并且是必需的吗?在我看来,这比INT
仅为主键创建单独的列更简单,但我不知道它是否“正确”。