我在我工作的公司的变压器数据库中工作。
我在设计中工作,我得到了带有60列的Una表,我真的很新,但是我从来没有在同一张桌子中得到那么多列,这是正常的吗?同一张桌子?
我正在使用SQL Server 2008
非常感谢我的英语:p
表可以使表(60(的列具有(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
值,我们不能将任何新数据插入任何新数据,而 CC_4值则导致insert anomaly.
如果部门D300关闭,则将部门从DB中删除,则将在此处删除Alex的员工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-inmalization-inmalization-ind-dbms/