作为一般规则,在处理数据时,您不要为给定的表单或关系数据库设计翻转或切换表。
所以,例如。如果我有一张客户表。好吧,现在如果我想将一些客户标记为水管工,将其他客户标记为医生?我不创建两个表。
我要做的就是在该客户表中添加一列,它只允许我设置客户的类型。这种设计的原因是“很多”,但一些重要的原因是:
对于每种新类型的客户,您不会创建新表。更糟糕的是,所有的表格、报告、SQL、你写的代码?好吧,每次创建新表时都必须修改所有代码。因此,您不能简单地采用一种设计,其中更改表格的概念是该过程的一部分。
表单绑定到一张表。对于相关数据,您在大多数情况下会使用子表单。
因此,甚至可以考虑一个会计系统。他们可以拥有大量客户,因此,您可以“查询”该表以提供所有客户。或者你可能会问客户名单中有多少家会计师事务所。或者制作一份按客户类型汇总的报告,对每种类型的客户进行“计数”。
那么,构建表单还是报表?他们不能即时“更改”他们正在使用的表格。
因此,代替名为:
销售一月
销售二月
销售月
等等
嗯,现在你不能查询一月到三月的销售额,因为数据在不同的表中。
因此,您要做的是有一个名为“sales”的表,然后添加一列日期。现在,在每个新月的开始,您不必创建新表。
现在,当然在某些情况下创建一个单独的表是有意义的。例如,客户表和数据库中的员工表就可以了。在这种情况下,使用两个表是有意义的,因为有关客户的信息以及他们可以做什么以及信息的类型与您与员工打交道的方式非常不同。
那么,上面呢?那么,如果我需要为所有客户和所有员工打印邮寄标签?这将需要两份不同的报告。而且很可能这两个表的表结构不同。
底线:
如果您从事设计、表格或报告工作?您是否需要尝试更改表单/报告/代码等将要操作的表格?这表明您的设计方法已经完全偏离轨道并且是错误的设计。
那么,对于医生、护士等呢?好吧,他们都是医院工作人员,关于这些员工的大部分基本信息都是通用的,几乎相同,因此“员工”的单张表是最有意义的。您只需要一个漂亮的“员工类型”组合框在该表格上,因此您可以在该表格中添加/输入/编辑/搜索任何员工。
您“想要搜索”员工这一事实表明,所有这些人“都是”员工,因此属于一个表。无论如何,所有员工的基本信息都是一样的。如果您发现您正在尝试创建一个新表但结构几乎相同,那么就像每个月销售的新表一样,或者每种新员工的新表?只需添加允许您进行区分的“一个”列,而不是一个全新的表。
现在人们甚至可以尝试将患者放在同一张桌子上,但话又说回来,处理专利而不是员工是一种相当不同的“事情”。
所以员工就是员工——甚至是不同种类的员工。 (经理、清洁人员等)。
患者就是患者——甚至是不同类型的患者(长期护理、急诊等)。