对于数据库设计,以前一直使用的是ER-Win和PowerDesigner, 也用过Visio,只记得很早就在VS里有一个DatabaseProject模板,可能是懒惰吧,几乎没有关注过这个东西,只是最近有一个项目从其他公司转过来了,数据库设计正好用的是这个DatabaseProject,于是 花了点时间看了看,发现是挺好的一个工具。
它具有VS的一些基本特性,例如智能感知、验证以及自动部署,支持创建几乎任何的数据库对象(没有验证过,只是自己用到的都支持), 并可以对现有数据进行反向工程, 通过数据库模式比较,可以选择性的将数据库修改部署到指定数据库。
通过VS的Data菜单,大概可以了解这个模板工具的特性:
Schema Compare
支持数据库项目,数据库,数据库文件这三项的任意组合对比 ,以前是使用其它的第三方工具。你可以将对别的结果生成T-SQL语句,或者直接选择性更新目标数据库。
Data Compare
比较两个数据库的表中的数据是否相同。
Refactor
可以方便的重命名数据库对象,还有其它的一些功能,不过没怎么研究。
现在看看大概的操作流程:
通过菜单File->New->Project,在NewProject对话框中选择InstalledTemplates->Database->SQL Service,选择一个数据库项目模板,这里选择SQL Server 2008Database Project,然后输入一个项目名称,例如VSDBP,
选择OK后,项目创建完成,这是展开Solution Explorer你会看到真个项目的结构:
这时你可以通过项目右键的Add->NewItem添加任意数据库对象:
这里我们可以添加一个Table,名字就叫Ticket吧, 在Ticket.table.sql文件中输入创建数据表的脚本即可,同样可以创建PrimaryKey, Store Procedure等等。
不过目前这个DatabaseProject不支持可视化的视图操作,创建对象需要你手动数据相关脚本,对于部分人来说可能会有点不适应。
然后在项目右键菜单选择Build,然后Deploy即可。当然你可以通过项目属性对话框设置生成T-SQL脚本文件或者直接部署到数据库。
对于有数据库设计的开发人员而言,这个工具的使用你会发现非常的简单,这也秉承了微软一惯的设计风格,不过这个工具目前看起来还很幼稚,缺少很多数据库设计工具应有的强大功能,不过如果你的项目对数据库设计没有什么特别的要求,这也是一个不错的选择,具体的功能你可以在使用中慢慢体会。