sql2005学习心得(精选6篇)
1.sql2005学习心得 篇一
SQL数据库学习心得
一 数据库课程总结
(一)数据库概述数据
(1)数据库中存储的基本对象,是描述事物的符号记录(如存储某一个人
(2)数据的种类包括文字、图形、图象、声音
(3)数据的特点是数据与其语义是不可分的。数据库
(1)(database,简称DB)是指长期存储在电脑内有组织的、可共享的数据集合;
(2)数据库管理系统(DatabaseManagement System,简称DBMS),是位于用户与操作系统之间的一层数据管理软件。关系数据库基础
(1)元组(Tuple)表中的一行即为一个元组。
(2)属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性
名。
(3)主码(Key)表中的某个属性组,它可以唯一确定一个元组。
(4)域(Domain)属性的取值范围。
(5)分量元组中的一个属性值。
(二)SQL Server概述SQL Server的版本
(1)企业版,作为生产使用
(2)个人版,供移动用户使用
(3)标准版,作为小工作组或部门使用
(4)开发板,供程序员开发测试使用SQL数据库的创建
(1)创建数据库的过程就是确定数据库名称、大小、存放位置等信息。
(2)数据库文件包括主数据库文件(.mdf)、次数据文件(.ndf)、事务日志文件(.ldf)
(3)3种方式创建数据库:使用数据库创建向导、使用企业管理器、使用SQL语句在查
询分析器中创建。
(三)数据库中的表创建表两种方式:使用企业管理器、使用SQL语句
2修改表,修改操作包括:增加字段、删除字段、修改字段(名称、修改其已有的属性)两种方式,使用企业管理器、使用SQL语句
(四)数据查询
1基本的SELECT语句,例查询Readers表中所有记录的信息SELECT*FROM Readers 2查询语句的统计功能
3数据的连接
外连接的结果集中,不仅包括满足连接条件记录,还包括不满足连接条件的记录。连接方式分为:左外连接、右外连接、全外连接。
(五)数据完整性
1定义:数据完整性是指存储在数据库中的数据的一致性和准确性。
2实体完整性
又称行完整性,要求表中不能存在完全相同的记录,而且每条记录都要具有一个非空且不重复的主键值。
3使用约束:约束是保证数据完整性的有效方法,(1)PRIMARY KEY(主键约束)特点:每个表只能定义一个主键、主键值不可为空、主键值不可重复。
(2)UNIQUE(唯一约束)确保表中的某非主键列不输入重复值,PRIMARY KEY 与 UNIQUE的区别、约束数量、是否允许NULL值
(3)CHECK(检查约束),用于限制输入到列中的值的范围
(六)数据库的安全
1对于SQL Server来说,提供身份验证和权限验证两种保护方式。
(1)身份验证模式: Windows验证模式,只限于本机使用; 混合验证模式,本机或远程均可访问角色管理是一种权限管理的方法,角色中的每一用户都拥有此角色中的所有权限。3数据库角色提供了在数据库级别上的管理权限组。
(七)备份与恢复
1备份数据库,使用SQL语句备份
步骤:(1)创建备份设备
(2)备份数据库(完全数据库备份、差异备份、日志备份、文件与文件组备份)2恢复数据库(使用企业管理器恢复、使用SQL语句恢复)
二 数据库课程心得
在学习数据库和数据表创建和修改时,了解到表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从课程中中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。我们上机的另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单SELECT语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以通过视图向基表中添加、修改和删除数据。存储过程、触发器也是我们学习的内容之一,在操作中有建立存储过程,执行存储过程,及查看和修改存储过程,这些都是非常基础的东西,但对用户却是非常重要的呢,只有熟悉了T_SQL语言,才能更好的掌握更多的东西。我们还学习了,SQL管理、数据的导入、导出、备份和还原。有SQL Server 安全访问控制;登录账户的管理;数据库角色的管理;用户权限管理。维护数据库的安全是确保数据库正常运行的重要工作。数据的备份是对SQL Server数据事务日志进行拷贝,数据库备份记录了在进行备份操作的数据库中所有数据的状态。而数据的备份还分为数据库完整备份、差异备份、事务日志备份、文件及文件组备份。做数据备份就是为了以后的数据库恢复用。我们还做了仓库管理数据库,其中的要求包含了许多数据库的对象,综合了我们所学的许多知识,让我们更努力的把所学到的东西运用上去。
2.sql2005学习心得 篇二
HIS应用系统无论是软件还是硬件随着时间的推移都将面临更新换代的问题,系统性能需求驱动、硬件设备问题、数据积累、磁盘I/O瓶颈等均有可能成为系统升级的原因[1,2]。由于医院业务的实时性要求非常高,因此系统性能越来越受到关注,尤其是三级大型医院,应用点多、面广,服务器的负荷明显加大,应用部门经常由于系统慢而频频抱怨,高性能应用系统的使用显得极其重要[3,4],如何获取更加稳定、可用的系统是目前大型医院急需解决的问题。
2 系统升级的必要性
北京大学第三医院(简称北医三院)始建于1958年,是卫生部下属的集医疗、教学、科研和预防保健为一体的现代化综合性三级甲等医院,设有中央党校北医三院分院、北方医院住院分部及第二门诊部等分院机构,开放床位1 200多张,日均门、急诊量达9 000多人次,直接与HIS服务器挂接终端数近2 000个,涉及门急诊发卡、挂号、收费、医生工作站、药房、住院药房、医嘱处理系统、住院结算系统、医生工作站、物资请领等,另外HIS服务器还涉及分诊系统、LIS、PACS、手术麻醉系统等多个系统的交互。升级之前高峰期系统压力非常大,见图1,服务器CPU的使用比例在80%上下徘徊,磁盘I/O读写更是长期处于等待状态,前台应用系统均反应缓慢,应用部门抱怨不断[5]。
为解决系统缓慢现象,同时考虑到北医三院信息化建设的可持续性发展问题,对现有系统架构进行升级已是势在必行。
3 软硬件升级对比
此次北医三院HIS升级重点考虑系统必须支持大内存,而采用大内存出发点是解决磁盘I/O瓶颈[6]。大内存的使用能够提供足够的数据库缓存保存用户最近使用过的数据块,支持数据共享,减少I/O操作,并且可用于提高数据共享,减少1/O请求次数,因而可有效提升数据系统的效率[7,8]。
系统服务器的选型介于安腾(小机)及PC服务器之间,由于小机及PC服务器的性能相差不大,但价格相差甚远,因此最终选择了IBM3950R2型的PC服务器作为此次升级的主服务器,从现有系统Windows2003+SQL2000的实际出发,为确保系统平稳升级数据库系统沿用微软SQL2005,升级前后系统配置对比,见表1。
4 系统升级步骤
4.1 升级前测试工作
系统测试非常重要,为了顺利完成系统升级,保证升级后各系统业务正常运转,且与各个系统接口的衔接通畅,在升级前需要进行大量的测试工作,测试时严格控制程序版本,不对现有程序进行更改,只对测试结果进行程序的修改和数据库结构的调整。由于此次升级的SQL2005数据兼容版本低,所以测试调整完毕后需要将原有环境SQL2000数据库进行相应调整,下发新程序平稳运行一周后准备升级,这主要是考虑到将数据平滑地迁移到SQL2005。
4.2 升级过程中建立应急体系
医院业务特点是24 h不间断,由于此次升级预计耗时7 h完成,为保障医院业务不受影响,必须要考虑全面。
4.3 院内统一协调部署升级安排
医院信息化建设已经使得信息的触角延伸到医院各个业务点,因此信息系统一旦长时间不可用,将造成极大的影响。在升级过程中系统长时间宕机必须要让每个人清楚相应的业务该怎么处理。
4.4 升级步骤
(1)选择合适时间启动升级;
(2)升级前通知急诊收费启用应急预案;
(3)现有系统SQL2000执行所有与优化无关的、24:00前应该执行的后台任务;
(4)目前SQL2000的生产环境停止使用;
(5)将数据库更改成只读,磁带备份、磁盘备份(形成BAK文件),停SQL Agent,备份任务脚本;
(6)拷贝BAK文件到新服务器,老服务器关机;
(7)重装IBM3950服务器上SQL2005数据库软件,保持新服务器配置与原服务器一致,为保证客户端及接口,配置无需变化;
(8)还原数据库到新服务器,由于SQL Server的早期版本中用于表和索引行计数以及页计数的值可能不正确,根据SQL Server 2005之前的版本创建的数据库可能包含错误的计数,因此,在升级到SQL Server 2005之后运行DBCC UP-DATEUSAGE,以便更正所有的无效计数;
(9)SQL2005执行所有与优化无关的、24:00后应该执行的后台任务(超过24:00需要执行);
(10)恢复HIS用户及相关接口的数据库用户,执行sp_change_users_login Update_One,UserName,LoginName,映射数据库中已存在用户到SQL Server 2005的登录权限;
(11)各HIS子系统客户端选择1台机器指向新的SQL2005数据库服务器办理相应业务进行测试,一切正常则联网使用;
(12)门诊应急系统上传数据到SQL2005数据库,升级完成整个升级过程中涉及的系统颇多,涵盖HIS(急诊发卡、门急诊挂号、收费、入出院、门急诊药房、医嘱、医师站)、检验系统、血库、手麻、药房、电子病历、PACS等相关业务,几乎影响到所有的系统。
5 升级后实际应用效果
笔者所在医院总共耗时长达7 h之久,顺利地将HIS升级到Windows2003 64位+SQL2005系统上,升级后,系统运行平稳,系统负荷(CPU使用率及I/O吞吐均下降显著),升级后系统性能监控图,见图2。
系统升级后服务器CPU负荷及磁盘I/O吞吐与升级前相比较差别显著,图1及图2均是在高峰期截取的实时监控图,因此具有可比性。从升级后效果来看,大内存的使用的确可以给系统优化带来很大空间,就目前应用现状而言,磁盘I/O瓶颈已经荡然无存[9]。CPU的使用率也得到了显著下降;同时根据升级前后SQL事物日志跟踪数(事件跟踪器记录下Duration>5 s的事物语句)对比分析结果显示,系统性能得到了极大的改善。自升级以来,终端应用效率改善明显,系统运行状况良好,因此,此次系统升级取得了很好的效果。
6 结语
回顾整个系统升级过程,时间紧、任务重,整个升级方案需周密详细,方能使得升级过程有条不紊。从升级后整个系统运行状态来看,系统健康指数得到显著提高,无疑大内存的使用可以给系统优化带来一定的空间,但系统性能的提高不能也绝不可能总依赖硬件来完成,它涉及的因素颇多,如数据量的问题,本身系统架构问题,同时更应考虑应用软件本身的问题[10,11],当然如果是磁盘1/O的问题支持大内存的系统无疑是一个好的选择。
参考文献
[1]刘艳春.中小企业级数据库服务器性能优化策略[J].商场现代化, 2007(10):33.
[2]年玮.数据库应用系统性能优化的几点策略[J].电脑知识与技术,2007(21):595-596.
[3]支春明.影响数据库性能的因素分析及改进策略[J].中国高新技术企业,2008(23):151-152.
[4]屈军波.医疗信息系统中的数据库性能优化[J].江苏大学学报:自然科学版,2002(6):86-89.
[5]程跃斌.基于64位Windows 2003和Oracle 10g RAC的“军卫一号”数据库的升级[J].医疗卫生装备,2010,31(10):68-70.
[6]朱辉杰.64位新时代即将到来[J].CAD/CAM与制造业信息化, 2003(8):74-75.
[7]刘晓辉.HIS服务器及数据库升级测试研究[J].中国数字医学, 2008(8):43-46.
[8]赵鑫.32位和64位操作系统的对比与选择[J].办公自动化, 2010(5):40-41.
[9]尹萍.SQL Server数据库性能优化[J].计算机应用与软件,2005 (3):64-67.
[10]杨珂.医院数据库的升级[J].管理观察,2009(34):81-82.
3.SQL数据库心得 篇三
题目:
学习报告
院
系:数学科学系 专
业:数学与应用数学 年
级:1301B 姓
名:曹占营 学
号:1331110101 任课教师:杨锋英
2015年 12 月 30日
C#数据库学习报告
在日常生活中,我们和朋友、亲戚联系,会广泛用到通讯录,因此这门课程以通讯录开发为案例,教我们学习软件开发。
软件开发是一项非常注重实践工作,不可能只凭看书、看视频就学会软件开发,必须扎扎实实、一行一行的编写代码,不断积累项目经验,才能真正掌握编程技术,所以我们要亲自上级编写程序,才能真正掌握软件开发技术。
本书分为基础篇、进阶篇、高级篇,由浅入深地介绍了基于C#的数据库编程技术,所用的开发工具为Visual Studio 2008、SQL Server 2005以及Access 2007。
学习数据库的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从课程中让我更明白一些知识,查询可以通过SQL语言进行完成,这样加深了查询语句的基本结构,让我们能更好的掌握其中语句,方便于我们后面的学习和应用。表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。在编程方面是需要我们对于编程有逻辑思维能力及一定的编程技巧。在数据库中插入表、表中的信息等都需要注意,不然很容易出错。
在基础篇中,详细讲解了通讯录系统的设计、开发和安装部署这样一个完整过程,对各个任务进行详细讲解。基础篇学习分为9个任务,分别为系统分析与设计、用户登录、主窗体设计、联系人分组管理、联系人管理、用户密码修改、数据库备份与恢复、设计“关于”窗体、系统安装与部署。学完基础篇,即可开发出一个功能较为完备的通讯录系统。在联系人管理任务学习中,由于在Contact表中保存的是分组编号,而窗体上要显示的是分组名称,所以在查询语句中需要级联查询,即SQL语句为”select Contact.Id, Name, Phone, Email, QQ, GroupName from Contact, ContactGroup where Contact.GroupId = ContactGroup.Id”。为了实现代码复用,可以提供查询功能,根据用户选择的擦寻天剑,拼接产生SQL语句。同时为了支持模糊查询,还在SQL语句中用了like语句。通过SqlDataAdapter的Fill方法填充数据集,获取数据。数据集中有了数据以后,我们只需设置DataGridView控件的DataSource属性,就可以显示数据了。
在进阶篇中,介绍了企业项目开发中广发用到的参数化SQL语句、存储过程使用及定义数据库操作类,分为3个任务学习,分别为使用参数化SQL语句、使用存储过程、使用自定义数据库操作类,进一步提高我们的数据库编程能力。在使用存储过程任务学习中,了解到存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。在性能方面,存储过程有如下的优点。(1)与编译,存储过程预先编译好放在数据库内,减少编译语句所花的时间。(2)缓存,编译好的存储过程会进入缓存,所以对于经常执行的存储过程,除了第一次执行外,其他次执行的书都会有明显提高。(3)减少网络传输,特别对于处理一些数据的存储过程,不必像直接用SQL语句实现那样多次传送数据到客户端。通过前面的学习,细细体会对数据库的操作,可以发现,这么多操作其实可以分为4种。(1)对数据库进行非连接式查询操作,返回多条记录。这种操作可以通过SqlDataAdapter对象的Fill方法来完成,即把查询得到的结果填充到DataTable(或DataSet)对象中。(2)对数据库进行连接式查询操作,返回多条查询记录。这种操作可以通过SqlCommand对象的ExecuteReader方法来完成,返回SqlDataReader对象。(3)从数据库中检索单值。这种操作可以通过SqlCommand对象的ExecuteNonQuery方法来完成。ExecuteScalar方法返回的是Object类型,需要根据实际情况进行类型转换。(4)对数据库执行增、删、改操作。这种操作可以通过SqlCommand对象的ExecuteNonQuery方法来完成,返回增、删、改操作后数据库中受影响的行数。
在高级篇中,分为4个任务学习,分别为开发基于三层构架的通讯录程序、开发基于Access的通讯录程序、实现基于抽象工厂模式的三层架构、使用MD5加密用户密码。首先详细讲解了基于三层构架的通讯录程序开发过程以及如何开发一个基于Access的通讯录系统。最后,介绍了如何采用MD5加密技术对用户密码加密。MD5加密技术也是实际项目开发中广泛用到的,通过MD5加密用户密码,可以提高程序的安全性。“三层架构”一词中的“三层”是指:“表示层”、“业务逻辑层”、“数据访问层”。表示层:位于最外层,离用户最近。用于显示和接收用户输入的数据,为用户提供一种交互式操作界面。表示层的常见形式为WinFrom和WebForm。业务逻辑层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。业务逻辑层也可以包括一些对“商业逻辑”描述代码在里面。数据访问层:仅实现对数据的保存和读取操作。可以访问数据库系统、二进制文件、文本文档或是XML文档。
在这一学期有限的几次实验课后,我虽然没有学会很多,但也学会了一些简单的操作,我学会了一些简单的数据运算,会建立一些简单的表。有时候在做实验时,对于实验中的一些东西我不怎么了解,但我还会去做,因为我想只有多练习才能熟练,也才能理解掌握知识。我不知道这一门课对其他同学来说怎么样,但对我来说却有些难,但我会努力。因为我认为它对我以后考计算机二级有很大的帮助。
4.sql2005学习心得 篇四
-05-05如何将sql执行的错误消息记录到本地文件中实现过程
-08-08sql编程的几个常识
2013-01-01Sql Server 分组统计并合计总数及WITH ROLLUP应用
2009-12-12sqlserver substring函数使用方法小结
2013-09-09把excel表格里的数据导入sql数据库的两种方法
-09-09SQLserver 数据库危险存储过程删除与恢复方法
2011-12-12SQL Server 交叉表查询 case
-04-04sqlserver 此数据库没有有效所有者错误的解决方法
5.sql2005学习心得 篇五
根据市十二届政协三次会议精神,政协某某联络组~年工作的总体要求是:高举邓小平理论伟大旗帜,以“三个代表重要思想为指导,进一步学习贯彻党的十六大、十六届三中、四中全会和中共某某市委十届九次全体(扩大)会议精神,坚持团结和民主两大主题,以小组活动为载体,组织委员积极参与政协活动,认真履行委员职责,努力提高履行职能的质量,增强参政议政的实效,围绕中心,服务大局,发挥优势、形成合力,突出工作重点,为某某地区的经济跨越发展而不懈努力。~年我们主要做好以下工作。
一、开展多种形式的学习活动
1、组织委员认真学习十六大和十六届三中、四中全会精神,明确我们在新时期、新阶段的历史任务,不断探索工作新路子,不断提高政协工作的水平。通过学习,每个联络组成员撰写2—3篇心得体会,并举办一次学习心得交流会,以推动学习活动的深入开展。
2、结合我国面临的国际国内新形势、新任务,加强对市场经济理论、世贸规则、法律法规和现代科学技术知识的学习,3、组织委员认真学习政协知识和~理论,准确把握新时期统一战线和人民政协工作的基本理论,宣传统一战线和人民政协的性质、地位、作用,扩大社会影响,为政协工作创造良好社会氛围。
二、积极开展视察调研,及时反映社情~
1、我们根据市政协的工作要求,每季度搞一次活动,具体做到“四落实”,即时间、地点、内容、责任人落实,并及时汇总活动情况。
2、围绕中心,促发展,凝心聚力作贡献,是我们政协的基本职能。今年我们将围绕个私经济的发展问题,失地农民的保障问题,以及学校陪读现象等问题开展调研、视察活动,为三个文明建设建言献策。
3、开展“五个一”活动。根据市政协十二届三次会议精神,组织委员广泛开展“写一件提案,参加一次调研,献一条良策,引一个项目或一笔资金,办一件实事”的五个一活动,激励政协委员履行职能,建功立业。
4、及时反映社情~,要把反映社情~作为政协委员应尽的义务,自觉保持同本界别群众的联系,关心群众疾苦,体察群众情绪,了解和反映群众的意见和要求,每个委员全年至少反映社情~信息1—2条。
5、响应市委“文明在行动”号召,按照各镇“文明在行动”系列活动的内容,组织政协委员积极参与。
三、服从服务于经济建设这个中心,努力塑造政协委员的新形象
~年,是全面完成“十五”计划的重要一年,是实现“两个率先”跨越奋进的关键一年。各位委员要按照政协工作的要求,积极参政议政。既要做好本职工作,又要贴近社会,紧靠各界人士,关注和解决人民群众生产、生活中的实际困难,化解矛盾,改善投资环境,增强责任感和使命感,为地区经济跨越式发展而不懈努力。
6.sql2005学习心得 篇六
XML是一种半结构化数据描述语言, 它克服了传统Web描述语言HTML只能够表达数据的内容, 无法表达Web数据的结构特征, 不便于半结构化数据查询这一不足, 正在逐步替代HTML, 成为新一代Web数据描述与数据交换标准。如何有效存储、处理XML文档和从大量XML文档中检索有用信息, 已成为数据库研究领域的一个重要研究课题。本文以SQL2005来处理对XML半结构化数据的查询及优化。
(二) 系统描述
系统的基本结构如图1所示
XML文档管理器提供应用程序以结点和全文档方式存取文档的机制, 它负责检查文档的有效性;查询管理器提供基于离散模式匹配查询的实现, 具体做法是将匹配查询转换成CSP问题;模式管理器维护系统的模式集, 由于式本身也可表达为树状模型, 因此, 它本身的存储也与XML文档的存储采用一样的方式。
(三) 半结构化XML数据查询
对Web上大量半结构化数据的访问成为近年来数据库界研究的一个热点。半结构化的数据通常没有严格的类型定义, 描述数据结构的信息包含在数据当中。为此, 在很多研究中采用了基于有向图的半结构化数据模型, 按照这样的模型, 半结构化数据可以用标注的有向图表示, 图中节点表示对象, 边表示对象之间的联系。借鉴传统数据库系统中模式的概念可以定义并建立半结构数据的模式, 在此基础上实现查询的表达和查询处理。
采用半结构化的数据模型处理Web数据时, 首先要从文本格式的数据中抽取结构信息。由于目前在web上普遍使用的HTML是面向显示的, 主要用于描述数据的格式、显示样式以及数据的位置等, 无法直接定义数据的结构, 因此从基于HTML的Web数据中抽取结构信息的难度很大, 通常只能根据数据的格式 (段落、字体、缩进距离等) 并结合启发性规则来进行推测, 在可抽取的数据类型、正确性以及通用性等方面都不够理想。
(四) SQL 2005查询XML数据优化
SQLserver2005为XML数据处理提供了广泛的支持, 一是XML数据可以自然地存储在XML数据类型列中, 管理XML本原数据格式提供以下功能:
l.创建XML索引, 提高数据的访问效率;
2. 支持XQuery语法, 让传统的SQL语言增加了访问XML数据的功能。二是利用CLOB或者varchar类型来保存XML数据。
实验创建了对应的两个表 (图2) PublisherXML表的的book字段采用xml类型, Publisher表的book字段采用varchar类型, 定义如下:
(五) 查询优化
在XML类型的列上进行查询效率低下的主要原因有:
1. XML类型的数据往往非常的大, 结构比较复杂, 直接利用XQuery尽完成查询需要复杂的结构连接计算, 这要反复的进行磁盘I/O而耗费大t的时间;
2.建立的索引不恰当, SQL server 2005支持在XML类型上建立XPath、ProPerty和value三种索引, 应该根据不同的查询需求建立相应的索引。
针对这两个问题, 采取以下两个措施进行改进:
l.对包含XML列的表建立附加列或者附加表, 并建立索引。
如果针对少量元素和属性值进行查询, 可以将这些数据提升到关系列中, 即建立附加列。当检索整个XML实例, 只对一部分XML数据进行查询, 并且将被提升的列编入索引。附加列是同一表中的计算列。如:
(1) 为PublisherXML表book列的title元素创建用户自定义函数:
Create function udf_get_book_title (@xDataxml)
(2) 向PublisherXML表添加由上述自定义函数创建的计算列:
Alter table PublisherXMLadd title as dbo.udf_get_book_title (book)
(3) 在publisherXML表的计算列title上建立索引
Crete index idxTitle on PublisherXML (title)
2.对查询习惯进行分析, 根据不同的查询习惯产生对应的XML索引类型。
定义查询窗口, 利用XQuery对XML类型数据进行查询的总次数为t, 某种类型的查询为q (xpath、property或者value) , 则查询窗口w=q/t (<=w<=l) 。
算法:根据查询类型的不同分别建立XPath、property或者value索引以提高查询效率, 输入:XML数据的查询和一个包含XML列的表;输出:Xpath、property、value索引。
(六) 结束语
在XML数据源中对大量的信息进行有效地查询, 对用户而一言, 就显得非常重要, 它能帮助用户更方便更有效更快捷地获取信息。在SQLserver2005中存放本原xML数据, 对这类数据的优化是一个新的课题。该文分析了传统优化方法在对基于SQLServer2005的xML数据查询优化过程中存在的误区, 给出了利用建立附加表或者附加列和查询窗口的方法和策略进行优化, 有效提高了查询XML数据的效率。
摘要:SQLScrver2005关系数据库管理系统提供了强大的管理XML数据的功能, 但它用传统的通过建立索引等方式进行查询效果并不理想。文章分析了SQLserver2005在查询XML数据过程中低效的原因, 提出了通过建立附加表或者附加列以及相应索引、利用查询窗口等措施来优化查询。实验结果表明, 该方法能有效提高查询XML数据的效率。
关键词:半结构化,XML数据,附加表
参考文献
[1]孟小峰, 王宇, 王小峰.XML查询优化研究[J].2006.软件学报.
[2]覃遵跃, 蔡国民, 黄云.SQL Server2005查询XML数据优化研究[J].东莞理工学院学报.
【sql2005学习心得】推荐阅读:
SQL学习心得09-04
sql语言中文07-27
sql语句函数09-04
SQL语句性能优化08-10
sql常用查询语句10-23
vf常用sql语句大全07-13
sql 数据库 实验九:T-SQL语言、存储过程及数据库的安全性08-01