数据库视频-第十七-第二十一章

【使用.NET访问SQL Server 2008】
1.ADO.NET基础知识
ADO.NET提供对Microsoft SQL Server等数据源以及通过OLE DB和XML公开的数据源的一致访问。数据共享使用者应用程序可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。
ADO.NET有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO.NET包含用于连接到数据库、执行命令和检索结果的.NET Framework数据提供程序。可以直接处理检索到的结果,或将其放入ADO.NETDataSet对象,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。ADO.NETDataSet对象也可以独立于.NET Framework数据提供程序使用,以管理应用程序本地的数据或源自XML的数据。
2.ADO.NET组成
在这里插入图片描述

【监视SQL Server 2008】
过程:
1.创建跟踪(工具—>SQL Server Profiler)
2.数据库优化导向(工具—>数据库引擎优化顾问)
3.跟踪应用程序

【使用CLR访问SQL Server 2008】
1.CLR函数
新建项目—>C#—>SQL Server项目—>添加新引用—>测试连接—>成功
右击项目—>添加—>用户自定义函数—>名称—>成功
2.CLR存储过程
右击项目—>添加—>存储过程
3.CLR触发器
右击项目—>添加—>触发器

【使用SMO访问SQL Server 2008】
1.SMO概念
SMO(SQL Management Objects、SQL Server管理对象)是SQL Server 2008自身提供的一个特殊对象库,使用它可以在SQL Server Management Studio中执行创建新登录与角色、监视警报、安装复制和链接服务器上的表等操作。因为我们可以使用SMO来处理普通的SQL Server 2008管理。SMO主要有以下两大特点:
包含SQL Server特有的许多对象
以管理功能而不是数据为目标。
2.过程
1)创建SMO项目
新建C#项目—>Windows窗体应用程序-添加引用-设计界面:视图-工具箱-按钮
2)连接SQL Server
新建控制台应用程序-完成
3)使用SMO创建数据库
4)使用SMO创建数据表
5.)使用SMO创建存储过程
6)使用SMO创建触发器

【SQL的其他操作】
1.SQL内存分配
服务器—属性—内存
2.PowerShell 1.0
PowerShell是微软的下一代命令解释器的Shell程序,能够让管理员自动化和控制Windows桌面及服务器。PowerShell原来的开发代号是Monad,原计划是用以替代Windows中的命令行工具,但是后来微软说它只是技术上的扩充。使用PowerShell,管理员可以做任何在图形界面下所做的事情。Windows PowerShell 1.0可以运行在Windows XP SP2、Windows Server 2003和Windows Vista上。
3.复制概念
复制是一种技术,可以SQL Server 2008的数据和数据库对象从一个数据库复制和分发到另一个数据库,然后在数据库间进行同步,以维持一致性。使用复制技术,可以在局域网和广域网、拨号连接、无线连接和Internet上将数据分发到不同位置以及分发给远程或移动用户。
4.复制发布模型
复制使用出版业术语表示复制拓扑中的组件,其中有发布服务器、分发服务器、订阅服务器、发布、项目和订阅。
在这里插入图片描述
5.复制类型
1)事务复制
事务复制通常从发布数据库对象和数据的快照开始,创建了初始快照后,接着在发布服务器上所做的数据更改和架构修改通常在修改发生时(几乎实时)传递给订阅服务器,数据更改将按照其在发布服务器上发生的顺序和事务边界应用于订阅服务器,因此,在发布内部可以保证事务的一致性。
2)合并复制
与事务复制相同,合并复制通常也是从发布数据库对象和数据的快照开始,并且触发器跟踪在发布服务器和订阅服务器上所做的后续数据更改和架构修改,订阅服务器在连接到网络时将与发布服务器进行同步,并交换自上次同步以来发布服务器和订阅服务器之间发生更改的所有行。
3)快照复制
快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新,发生同步时,将生成完整的快照并将其发送到订阅服务器,当符合以下一个或多个条件时,使用快照复制本身是最合适的:
很少更改数据;
在一段时间内允许具有相对发布服务器已过时的数据副本;
复制少量数据;
在短期内出现大量更改。
6.创建快照发布
复制-本地发布-右击-新建发布向导
7.创建快照订阅
复制-本地订阅-新建订阅-新建订阅向导
8.APPLY运算符
使用APPLY运算符,可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。
APPLY有两种形式:CROSS APPLY和OUTER APPLY。CROSS APPLY仅返回外部表中通过表值函数生成结果集的行。OUTER APPLY既返回生成结果集的行,也返回不生成结果集的行,其中表值函数生成的列中的值为NULL。

9.SQL 2008四个新的排序函数
1)ROW_NUMBER
ROW_NUMBER返回结果集分区内行的序列号,每个分区的第一行从1开始。格式为:
ROW_NUMBER()OVER([<partition_by_clause>]<order_by_clause>)
其中参数:
<partition_by_clause>
将FROM子句生成的结果集划入应用了ROW_NUMBER函数的分区。
<order_by_clause>
确定将ROW_NUMBER值分配给分区中的行的顺序。
2)RANK
RANK返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。格式为:
RANK()OVER([<partition_by_clause>]<order_by_clause>)
其中参数:
<partition_by_clause>
将FROM子句生成的结果集划分为要应用RANK函数的分区。
<order_by_clause>
确定将RANK值应用于分区中的行时所基于的顺序。
3)DENSE_RANK
DENSE_RANK与RANK函数类似,只是在生成序号时是连续的,格式为:
DENSE_RANK()([<partition_by_clause>]<order_by_clause>)
4)NTILE
NTILE可以将有序分区中的行分发到指定数目的组中。各个组有编号,编号从1开始。对于,每一个行,NTILE将返回此行所属的组的编号。格式为:
NTILE(integer_expression)OVER([<partition_by_clause>]<order_by_clause>)
参数integer_expression表示一个正整数常量。
10.SQL 2008的同义词
1)语法
在这里插入图片描述
2)同义词的对象类型
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/frj0260/article/details/82873302