应用程序和数据库架构
每当我设计一个数据库(当前为SQL Server)时,我总是想知道如果将来我不得不迁移到另一个数据库(Oracle,MySql)是一种考虑一些重要参数(如命名约定(表,列长度),数据类型等。我经常问自己以下问题:
我应该命名我的表格,列复数/描述性? 我应该在表格/列的前面添加下划线还是名称中的其他标识符? 名称应该是特殊/特定的外壳?
我试图从发展的角度来看待设计,即.NET(由初级技能组成),因此应该有任何存储过程? 如果不是简单迁移的替代方案? 是否有建议的指导方针,有人可以建议考虑数据库和.NET设计架构?
从一种数据库类型转换为另一种数据库实际上非常罕见:35年来,我已经完成了一次:从Oracle到SQL Server。 那是一个特殊的情况:一个运行在VAX上的非常旧的版本的Oracle,多年来一直没有得到任何人的支持,必须摆脱它。 管理层下令(正确地说,我认为)作为标准DBMS,我们当时使用的是QL Server,系统应该被转换。
MS有一个转换工具,我们使用它。 我工作得很好,但由于PL / SQL与T / SQL非常不同,复杂的存储过程在工作时不可维护,速度很慢,因此我们从头开始重新编写T / SQL - 这花费了很多时间。 但这是唯一的问题。
我个人的做法是尽量减少SP的使用。 如果你在SP中逐行处理游标,那么我认为你做错了。 任何处理RAT(一次一行)的代码应该在代码中; 任何可以处理数据集的数据都应该在SP中。
除非你有理由认为你需要转换,否则我不会担心。 如果你这样做,只要你用命名约定做了明智的事情,就不会有问题。 你会遇到的问题是:
但正如我所说,这不是我通常担心的事情。
您是否尝试使用ORM,例如使用代码优先方法的实体框架? 它有助于避免代码中特定于数据库的内容,它还提供了非常灵活的迁移机制。
链接地址: http://www.djcxy.com/p/41315.html