我只是想知道什么是最佳解决方案。
说我有一个规范化的数据库。整个系统的主键是varchar。我想知道的是,我应该将此varchar与int相关联以进行规范化还是将其保留?保留为varchar更简单,但可能会更优化
例如我可以有
People ====================== name varchar(10) DoB DateTime Height int Phone_Number ====================== name varchar(10) number varchar(15)
否则我可能有
People ====================== id int Identity name varchar(10) DoB DateTime Height int Phone_Number ====================== id int number varchar(15)
当然,还要添加其他几个一对多的关系。
你们怎么想 哪个更好?为什么?
您真的可以使用名称作为主键吗?几个名字相同的人是否存在很高的风险?
如果您真的很幸运,可以将您的name属性用作主键,那么-一定要使用它。不过,通常情况下,您必须弥补一些不足,例如customer_id等。
最后:“ NAME”是至少一个DBMS中的保留字,因此请考虑使用其他名称,例如全名。