Jav*_*ene 1 database database-design
我正在设计一个存储一些艺术家信息的数据库.这些艺术家可以属于一个或多个组织.从这些组织我只想存储他们的名字,我正在考虑创建一个表格,这些组织只有名称作为主键,没有别的.是否有一个表只有主键的fieds一个概念错误?在这种情况下,我将感谢一些解决这个问题的建议.
是否有一个表只有主键的fieds一个概念错误?
不是单独的.存在完全合法的情况,其中所有字段都包含PK.
在这种特殊情况下,组织名称是一个关键,但这并不一定意味着它应该是主键 - 您可以"发明"另一个更小的键(通常是整数)并且更容易维护并使其成为主键,如下所示:
在organizarion_id
被称为"代理键",做的一些优点,其中包括:
organization_name
而不更新organization_id
,因此无需将此更新级联到子级.缺点:
正如您所看到的,这是一个平衡问题,您是唯一一个拥有足够领域知识来做出正确决策的人.
注意:organization_artist
事项中的字段顺序.如果您需要有效地查询给定组织的艺术家,请使用上面显示的顺序,如果您需要给定艺术家的组织,请将其反转.如果你需要两个方向,你需要在这两个字段上的另一个复合索引(在PK下面的索引旁边),但顺序相反.如果只能使用一个索引,请考虑对此表进行集群(如果您的DBMS支持它).
归档时间: |
|
查看次数: |
3061 次 |
最近记录: |