当前位置:首页 > 系统运维 > 正文内容

SQL Server数据库与.NET联通概述

a8116255316年前 (2010-07-16)系统运维9

此文章主要向大家讲述的是SQL Server数据库与.NET与Visual studio的联通的介绍,随着SQL Server 2008数据库的的上市,微软另两款开发产品.NET Framework 3.5与Visual Studio 2008也同步发布中文版Service Pack 1。

包含传闻已久的微软ORM(Object Relational Mapping)解决方案──ADO.NET Entity Framework,而LINQ,随着SQL Server 2008的上市,微软另两款开发产品.NET Framework 3.5及Visual Studio 2008也同步发布中文版Service Pack 1,包含传闻已久的微软ORM(Object Relational Mapping)解决方案──ADO.NET Entity Framework,而LINQ(Language Integrated Query)也将增加支持存取Entity Framework对象的LINQ To Entities。

此外, ADO.NET Data Services也是新的,包含比SOAP(Simple Object access Protocol)通讯协议更简单的REST(Representational State Transfer)存取模式,可满足倾向简单应用Web Services的Web开发者。

事实上,Visual Studio必须升级才能与SQL Server 2008无缝挂接,微软的.NET与SQL Server研发团队,有越来越紧密合作的趋势,操作SQL Server数据库更好用的开发工具是Visual Studio,而.NET Framework目前支持最完整的数据库也是SQL Server数据库,可以看出微软企图利用彼此捆绑的策略,拉抬两者市场份额的野心。

而SQL Server 2008本身跟程序开发有关的部分,比较重要的改变是增加许多新的数据方式,包括FileStream及geography、Geometry等空间数据格式。FileStream可以存放文件的metadata,并指定存放文件的实体目录。而空间数据方式则包含许多函数,帮助开发者处理点/线/面的空间计算。

对象与关系型数据对应的解决方案

LINQ与ADO.NET Entity Framework在微软是由两个不同的团队研发,功能上看似有些重迭,但实际上是要解决现今程序开发上,所面临的不同问题。

LINQ提供统一操作各种数据 *** 的模式;而ADO.NET Entity Framework则是提供对象导向开发者,对象与关系型数据对应的解决方案。

相对于对象导向程序开发的思维,在发明SQL的年代,并没有对象导向的观念,所以SQL语法一点也不对象导向。而习惯用对象思考,并希望对象导向观念与关系型数据库可以平顺整合的开发者,会希望有一套ORM解决方案。

而ORM的目的,是企图帮助开发者从对象导向程序开发的角度,单纯地思考类别之间的继承及参照关系,而不需要知道实体的数据是如何分散在不同的数据表,以及对象背后对应哪些数据表,甚至SQL指令的组成,也交由平台处理。

ADO.NET Entity Framework就是微软的ORM解决方案,事实上,ORM在Java及PHP等阵营早有对应的解决方案,所以微软在这方面的脚步并不算是很快。

ORM的价值

ADO.NET Entity Framework中的“Entity(数据实体)”,是指对象化的数据记录。使用数据实体而不直接连接数据库的好处,在于开发者不必使用SQL指令,而是透过对象的 *** (Method)存取数据库,藉以简化程序设计的复杂度,并提升程序代码重复使用的机会。

以客户数据为例,在数据库有Customer和Customer Detail两个数据表(Table),运用ADO.NET Entity Framework,可以把2个数据表对应(Mapping)成一个Customer数据实体,也就是对象类别,开发者只需呼叫Customer类别的Insert、Update和Delete等Method,并输入必要的参数,那么ADO.NET Entity Framework即自动产生对应的SQL语法,一对多地新增、修改及删除Customer和Customer Detail数据表中的数据。

对象与数据表的对应,除了一对多的情况,也可能是多对一甚至多对多的复杂对应。例如一个Employee数据表,在业务面因为属性不同,而拆成Manager、Employee和新人等3个不同的类别。

由于ORM需要对应SQL Server数据库与对象的关联,还要处理对象之间的继承关系,使得应用上存在一定的复杂度,因此,设计工具扮演的角色,相形之下变得重要,假如它无法使对应关系的设定,尽可能地简单而直觉,就会减损使用ORM的好处。

Visual Studio 2008升级至SP1之后,将提供可视化的精灵及操作工具,处理数据实体与数据库的对应。主要的功能包括透过实体数据模型(Entity Data Model)导入现有数据库的数据表,再以此为基础,设定数据表之间的关联,然后经由概念模型(Conceptual Model)处理数据表与数据实体两者的对应。

这些作法的背后,实际上底层是透过3个XML文件记录数据实体、数据库结构及两者之间的对应关系。不过,Visual Studio的操作界面,将透过图形化的设计工具简化对应的难度。

概念模型与ER Model不同

微软所谓的概念模型,与过去设计数据库架构常见的ER Model(Entity Relationship Model,实体关系模型)并不相同。

ER Model以图形化的方式,描述实体数据表之间的一对一、一对多或多对多关系,是属于实体的数据库模型。而概念模型则贴近系统分析阶段的思维,以业务的角度看待数据实体。

从这里也可以看出对象导向与SQL Server数据库设计理念的不同之处。

数据库设计时,为了避免同样的数据重复存在于多个数据表,造成空间的浪费及维护的困难,所以必须历经正规化过程。

例如员工基本数据包含亲属数据,但设计关系型数据库时为了正规化,亲属数据可能被拆出来,成为另一个数据表,而两者透过主键(Primary Key)和外部索引键(Foreign Key)建立一对多关系。

使用ER Model就会是两个数据表透过一对多关系连接,而进入概念模型之后,就对象导向的观点,将是以一个数据实体代表员工,其中会有一个属性是亲属数据的 *** 。而在概念模型的背后,是员工这个数据实体,一对多地对应到数据库的员工数据及亲属数据两个数据表。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/22027.html

分享给朋友:

“SQL Server数据库与.NET联通概述” 的相关文章

windows 7系统开机提示press any key to restart的故障分析及解

windows 7系统开机提示press any key to restart的故障分析及解

Windows 7 64位系统开机后提示"press any key to restart",无法进入系统了,具体现象如下所示: 故障分析: 故障的主要原因还是硬盘的问题,可以先检查是不是接触不良或坏了,进行修复或更换即可。 解决方法: 1、开机按F8不动到高级选项出现在松手,选“...

Windows7开机后出现黑一下屏性能降低

Windows7开机后出现黑一下屏性能降低

打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

windows 7系统重装后卡在正在启动Windows开机界面怎么办

windows 7系统重装后卡在正在启动Windows开机界面怎么办

重装系统是我们面对许多电脑问题时的终极方法,不过重装系统也不意味着就能将全部的问题都修复。一些用户在重装系统后开机时,电脑卡在“正在启动Windows”开机界面上了,这要怎么解决呢? Windows 7系统重装后卡在开机界面的解决方法: 一、首先可以看看该故障出现的原因是否是因为启动了acp...

windows 7/8/xp系统关闭自动播放功能禁止音频媒体自动播放

windows 7/8/xp系统关闭自动播放功能禁止音频媒体自动播放

Windows 7/8系统: 控制面板——自动播放——取消掉为所有媒体和设备设置自动播放 winXP系统: 开始—运行—gpedit.msc—计算机配置—管理模板—系统—关闭自动播放—已启用—所有驱动器—确定  关闭自动运行功能说明: 一旦您将媒体插入驱动器...

windows 7任务栏快捷方式如何居中显示默认从左像右排列

windows 7任务栏快捷方式如何居中显示默认从左像右排列

使用Windows 7的朋友都知道,任务栏上的快捷方式图标都是靠近开始菜单按钮,从左像右排列,不过也有一些用户喜欢左右对称,想要把那些快捷方式居中显示,看起来这个任务好像无从下手,其实一点也不难,只要通过下面方法就能轻松搞定。 1、首先在电脑磁盘中任何一个地方新建一个文件夹。 2、右击任务栏-&...