我必须考虑什么在数据库设计中对于一个新的应用程序来说,哪些应该能够支持最常见的关系数据库系统(SQL Server、MySQL、Oracle、PostgreSQL ...)?
值得付出努力吗?有哪些陷阱?
简而言之,答案是坚持标准或接近标准实现的功能。更详细地说,这意味着:
避免使用数据库的过程语言(存储过程或触发器),因为这是系统之间存在巨大差异的地方。您可能需要使用它们来模拟某些功能,但不要使用它们来创建您自己的功能。
将自动增量字段的序列与字段本身分开。这对于 MSSQL 来说看起来有点强制,但在 Oracle、DB/2 等中可以干净地实现,而不需要任何模拟修复。
将 char 和 varchar 字段保持在您目标引擎组的最小最大大小以下。
当您编写查询时,请使用完整的 JOIN 语法,并将 JOIN 用括号括起来,以便每个联接位于单个表和括号表达式之间。
将日期处理逻辑保留在代码中,而不是查询中,因为许多日期函数都不符合标准。 (例如:如果您想获取过去两周的内容,请在代码中计算两周前的日期,然后在查询中使用该日期。)
除此之外,所涉及的努力不应太令人生畏,因此可能是值得的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)