我们正在使用资源文件 (.resx) 将我们的 .NET 4.5 MVC C# 应用程序翻译成不同的语言。这对于位于我们视图中的静态文本非常有用。但是,我们从 SQL 数据库中提取的值也需要转换。
示例:下拉列表,其中包含从数据库中的表填充的值。
在数据库中翻译这些值的最佳做法是什么?
我想知道如何正确地设置主键的关系.例如,我们有ER图表,其中包含元素:
为了将其转换为关系模型,我们应该做一些技巧.上述处理关系的主键,但所有的元素都在自然键 -所以我们可以把它们原样或更换代理键.
考虑一些情况.
密钥属性是一个名称 - 因此它必须是类型CHAR或VARCHAR.通常,名称成为关键属性.
两个(或更多)识别关系成为关系的复合主键(由外键组成).
识别具有弱密钥属性的关系也成为复合主密钥.
关联实体通常具有两个或多个识别关系,因此它们是连接关系(连接表).
如何为关系设置主键以处理所有上述情况(可能还有一些我没有提及的情况)?
如何避免使用代理键以及在哪些情况下他们是必要的?
如何设置主键的数据类型?
如果必须将复合主键传递给子关系,是否应该用代理替换?
在我的视图中使用代理键的优点和缺点:
它们是紧凑的(通常是类型的INT),有时可以替代复合键
当他们在外国钥匙时,他们是说明性的
他们被无痛地编入索引
他们是数字而且毫无意义.例如,我希望在我的界面应用程序中填写连接表 - 所以我将别无选择,只能将数字联系起来 …
database database-design entity-relationship relational-database database-schema