数据库设计的问题讨论,能者为师!
在数据库设计过程中,我遇到一个原则性的问题,数据库要不要包含业务逻辑?
解释一下,包含业务逻辑就是存入数据库的数据经过加工或是附加的用于判断逻辑的数据。比如:我要每隔一段时间检测一张表,看表里的数据有无变化,间隔时间有长有短,于是,就可以在表里设一个字段,表示最后访问时间,以后程序里就可以修改,从而提高效率。
1 有的人主张数据库就是纯的存储最原始的数据,不经过任何加工,所有字段一律使用nvarchar类型的,这样除了兼容各种数据库外,还有什么好处??
2 也有人主张,数据库里要包含业务逻辑,可以把中间数据存入数据库,字段类型也可使用多一些(比如nvarchar,int,datetime,decimal),这也是我主张的,因为这样能提高效率,由于使用的字段类型不多,数据库兼容性也不错。
请问大家平时遇到此类问题时有无考虑过,如何取舍??