我正在为我工作的公司的变压器数据库工作。
我在设计工作,我得到60个列的una表,我真的是新的工作,但我从来没有在同一个表中获得这么多列,这是正常的吗?,在同一个表中是可能的某种子类别?
我正在使用SQL Server 2008
非常感谢我的英语:P
表可以具有那些数量(60)的列。但是,它也不常见。
将数据分成多个表格并且不存在歧义总是一个好主意。我们将此过程称为:规范化。通过这种方式,我们可以防止任何潜在的异常。检查以下示例:
emp_id emp_name emp_address emp_dept
101 John London D001
101 John London D002
123 Alex Toronto D300
166 Jack Dubai D900
166 Jack Dubai D004
这里有2个“杰克”。如果我们需要在employee:101
上执行更新,它将创建一个update anomaly
。
如果列不允许null
值,我们不能插入任何带有null
emp_dept值的新数据,这会导致insert anomaly.
如果部门D300关闭,那么部门将从数据库中删除,那么员工Alex也将被删除,这将导致数据丢失并导致delete anomaly
。
规范化上表的一种可能方法是通过分离emp_id和emp_dept属性来重新组织表,如:
emp_id emp_name emp_address
101 John London
123 Alex Toronto
166 Jack Dubai
emp_id emp_dept
101 D001
101 D002
123 D300
166 D900
166 D004
这也通过消除重复数据来帮助记忆。请访问网站了解更多示例:https://beginnersbook.com/2015/05/normalization-in-dbms/