sqlserver2005实验
- 格式:pdf
- 大小:179.56 KB
- 文档页数:9
SQL Server 2005 表分区操作详解SQL Server数据库表分区操作过程由三个步骤组成:1. 创建分区函数2. 创建分区架构3. 对表进行分区下面将对每个步骤进行详细介绍。
步骤一:创建一个分区函数此分区函数用于定义你希望SQL Server如何对数据进行分区的参数值([u]how[/u])。
这个操作并不涉及任何表格,只是单纯的定义了一项技术来分割数据。
我们可以通过指定每个分区的边界条件来定义分区。
例如,假定我们有一份Customer s表,其中包含了关于所有客户的信息,以一一对应的客户编号(从1到1,000,000)来区分。
我们将通过以下的分区函数把这个表分为四个大小相同的分区:这些边界值定义了四个分区。
第一个分区包括所有值小于250,000的数据,第二个分区包括值在250,000到49,999之间的数据。
第三个分区包括值在500,000到7499,999之间的数据。
所有值大于或等于750,000的数据被归入第四个分区。
请注意,这里调用的"RANGE RIGHT"语句表明每个分区边界值是右界。
类似的,如果使用"RANGE LEFT"语句,则上述第一个分区应该包括所有值小于或等于250,000的数据,第二个分区的数据值在250,001到500,000之间,以此类推。
步骤二:创建一个分区架构一旦给出描述如何分割数据的分区函数,接着就要创建一个分区架构,用来定义分区位置([u]where[/u])。
创建过程非常直截了当,只要将分区连接到指定的文件组就行了。
例如,如果有四个文件组,组名从"fg1"到"fg4",那么以下的分区架构就能达到想要的效果:注意,这里将一个分区函数连接到了该分区架构,但并没有将分区架构连接到任何数据表。
这就是可复用性起作用的地方了。
无论有多少数据库表,我们都可以使用该分区架构(或仅仅是分区函数)。
在WinCC中通过VBS操作SQL Server2005在项目中需要在一定条件满足时,保存一些数据到数据库中,并可根据条件查询。
考虑到WinCC6.2以后采用的就是SQL Server2005数据库,所以直接利用该数据库即可,通过SQL Server Management Studio(SSMS)可以创建自己的数据库,并安要求创建好表。
一、数据库连接在SQL Server Management Studio(SSMS)中创建名为evcp的数据库,再创建名为evcp的表,然后根据需要创建Columns,在本项目中创建了norder(流水号)、pileno(桩号)、cardno(卡号)、operno(员工号)、energy(电量)、cost (金额)、period(时长)、rate(费率)、pdate(日期)和ptime(时间)。
在本项目中采用ODBC的方式连接数据库,首先在控制面板中创建好数据源,配置好SQL Server驱动数据源,命名为evcs。
二、数据写入要求在一个状态量值为1的时候完成数据库的保存,等数据保存完后将状态量清0。
1、先在全局脚本VBS项目模块中创建函数savedata,代码如下:Sub savedataDim objConnectionDim objCommandDim objRecordsetDim strConnectionStringDim strSQLDim norder,pileno,cardno,operno,energy,cost,period,rate,pdate,ptimenorder=HMIRuntime.Tags("norder").Readpileno= HMIRuntime.Tags("pileno").Readcardno=HMIRuntime.Tags("cardno").Readoperno= HMIRuntime.Tags("operno").Readenergy= HMIRuntime.Tags("energy").Readcost= HMIRuntime.Tags("cost").Readperiod= HMIRuntime.Tags("period").Readrate= HMIRuntime.Tags("rate").Readpdate= HMIRuntime.Tags("pdate").Readptime= HMIRuntime.Tags("ptime").ReadstrConnectionString = "Provider=MSDASQL;DSN=evcs;UID=;PWD=;"Set objConnection = CreateObject("ADODB.Connection")objConnection.ConnectionString = strConnectionStringobjConnection.OpenSet objRecordset = CreateObject("ADODB.Recordset")Set objCommand = CreateObject("mand")objCommand.ActiveConnection = objConnectionstrSQL = "insert into evcp (norder,pileno,cardno,operno,energy,cost,period,rate,pdate,ptime) values ("&_"'"&norder&"',"&_"'"&pileno&"',"&_"'"&cardno&"',"&_"'"&operno&"',"&_"'"&energy&"',"&_"'"&cost&"',"&_"'"&period&"',"&_"'"&rate&"',"&_"'"&pdate&"',"&_"'"&ptime&"')"'MsgBox (strSQL)mandText = strSQLobjCommand.ExecuteSet objCommand = NothingobjConnection.CloseSet objRecordset = NothingSet objConnection = NothingEnd Sub2、在全局脚本VBS动作中创建1秒周期的周期性出发动作,并添加如下代码:Option ExplicitFunction actionDim v1v1=HMIRuntime.Tags("satuse").ReadIf v1 ThenCall savedataHMIRuntime.Tags("satuse").Write 0End ifEnd Function这样当satuse值为1时系统自动保存数据三、数据查询数据的查询要复杂一些,需要用到MSFlexGrid控件、MS Form2 ComboBox 控件和MS Form2 TextBox,这几个控件可以单独注册也可以安装VB6后自动添加。
通过使用备份/还原方法升级一个关系数据库(Side-By-Side)
概述
本实验与SQL Server 2000 迁移到SQL Server 2008的实验步骤类似,因此没有提供虚拟机环境。
本文为相应的指导步骤,仅供参考。
练习 1 执行预升级任务
在这个练习中,您将准备好升级用的SQL Server 2005环境和在执行升级之前的可能存在的回滚。
任务 1: 准备SQL Server 2005环境
在这个任务中,使用SQL Server Management Studio来准备SQL Server 2000,确保所有的系统和用户数据库配置为自动增长,所有启动的存储过程被禁用。
任务 2: 备份所有的SQL Server 2005数据库
在此任务中,在升级之前使用SQL Server Management Studio备份所有的SQL Server 2005数据库。
您需要这些备份以便升级失败回滚到SQL Server 2005的环境。
任务 3: 验证当前没有客户端程序连接
在这个任务中,使用SQL Server 2000 Enterprise Manager来验证没有客户端程序连接到数据库。
练习 2: 备份源数据库,查看实例级别的对象
在这个练习中, 您将查看原始服务器环境,然后备份源数据库
练习 3: 还原和升级数据库
在这个练习中, 您将完成下列步骤来还原 SQL Server 2005 AdventureWorks2005 数据库环境到一个SQL Server 2008实例 (自动升级数据库),然后迁移实例级对象。
实验一 SQL SERVER 2005的安装与组成一、实验目的及要求本实验主要是要求学生了解Microsoft SQL server 2005安装过程、熟悉SQL Server Management Studio工作界面以及数据库建立。
主要要求有:●了解安装Microsoft SQL server 2005条件及其过程●了解Microsoft SQL server 2005 的结构体系及实例的含义●熟悉SQL Server Management Studio工作环境●熟悉系统数据库的功能●了解数据库文件组成二、实验原理及背景知识(一)SQL server 2005安装环境安装数据库SQL Server 2005有很多软件要求,在安装数据库软件之前,必须准备好这些必要条件,依次按照以下顺序安装相应的内容:1、浏览器软件。
安装Microsoft SQL server 2005之前,需要安装Microsoft Internet 6.0SP1或更高版本。
2、IIS组件的添加:如果Windows服务器没有安装IIS,必须要安装该组件之后,SQL server 2005才能完整安装。
(1)对于Windows 7操作系统,开始”->“控制面板”->程序和功能->打开或关闭Windows功能界面中,添加上Internet信息服务,实现IIS组件的安装,如图2-1-1。
图2-1-1 Windows 7操作系统下加载Internet信息服务界面(2)对于Windows XP操作系统,请从“开始”|“控制面板”|“添加删除程序”|“添加删除Windows组件”进行安装。
如果系统是ghost版本,要下载i386文件或者使用非ghost版本中i386文件。
3、.NET Framework 2.0在安装Microsoft SQL server 2005开始之前,在电脑屏幕给出安装之前必须准备的必要条件信息之前,必须同意终端用户许可协议。
SQLSERVER2005加密解密数据 应⽤SQL Server 2005的数据加密功能实现对敏感数据的保护。
对称加密--======================================================================/*Create Symmetric Encryption by password*/--======================================================================DECLARE @PSW1 NVARCHAR(400),@PSW2 NVARCHAR(400)SET @PSW1 = 'TestKeyPsw';SET @PSW2 = 'TestKeyPswNew'--Create Symmetric/*CREATE SYMMETRIC KEY Symmetric_Key_Test--AUTHORIZATION User2WITH ALGORITHM = RC4 --option: DES | TRIPLE_DES | TRIPLE_DES_3KEY | RC2 | RC4 | RC4_128 | DESX | AES_128 | AES_192 | AES_256ENCRYPTION BY PASSWORD = 'TestKeyPsw'*/--modify Symmetric Encryption password. In actually, it can only add or drop, if you want to modify, just add a new and drop the old one /*EXEC ('Open Symmetric Key Symmetric_key_Test DECRYPTION by Password=N'''+ @PSW1 +''';')ALTER SYMMETRIC KEY Symmetric_key_TestADD ENCRYPTION BY PASSWORD = N'TestKeyPswNew';-- DROP ENCRYPTION BY PASSWORD = N'TestKeyPsw';*/--DROP Symmetric Key/*DROP SYMMETRIC KEY Symmetric_Key_Test*/--EXEC ('Open Symmetric Key Symmetric_key_Test DECRYPTION by Password=N''TestKeyPsw'';')--SELECT * FROM sys.openkeys/*-- create a temptable to testCREATE TABLE #tempTable(desction VARBINARY(4000))TRUNCATE TABLE #tempTableINSERT INTO #tempTableselect encryptbykey(key_guid('Symmetric_key_Test'), CONVERT(NVARCHAR(MAX),'123456'))*/EXEC ('Open Symmetric Key Symmetric_key_Test DECRYPTION by Password=N'''+ @PSW1 +''';')SELECT desction,CONVERT(nvarchar(max), DecryptByKey(desction))AS DecryptByKeyDesction FROM #tempTable--------------------------------------------------------------------------------------------------------⾮对称加密--======================================================================/*Create Asymmetric Encryption by password*/--======================================================================--Create Asymmetric/*CREATE ASYMMETRIC KEY Asymmertric_key_TestWITH ALGORITHM = RSA_2048 --option: RSA_512 | RSA_1024 | RSA_2048ENCRYPTION BY PASSWORD = N'TestKeyPsw';*/--modify Asymmetric password/*ALTER ASYMMETRIC KEY Asymmertric_key_TestWITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'TestKeyPsw', --old passwordENCRYPTION BY PASSWORD = 'TestKeyPswNew'); --new password*/--DROP Asymmetric Key/*DROP ASYMMETRIC KEY Asymmertric_key_Test*/--SELECT * FROM sys.asymmetric_keys_Test/*-- create a temptable to testCREATE TABLE #tempTable(desction VARBINARY(4000))TRUNCATE TABLE #tempTableINSERT INTO #tempTable VALUES (EncryptByAsymKey(AsymKey_ID( 'Asymmertric_key_Test'), N'123456'))*/SELECT desction,CONVERT(NVARCHAR(1000),DecryptByAsymKey( AsymKey_Id( 'Asymmertric_key_Test'), desction, N'TestKeyPsw')) as DecryptDesctionFROM #tempTable。
《数据库系统原理》
实验报告
班级________
姓名________________
学号___________
信息与电子工程学院
实验1 sql server 熟悉和数据库创建
一、实验目的
熟悉sql server 2005提供的服务管理器、企业管理器、查询分析器、客户端和服务器端网络实用工具等常用管理工具的使用。
理解客户/服务器模式,理解面向连接与非面向连接的差别。
理解交互式sql的工作机制。
能够理解命名管道协议与tcp/ip协议的差别。
能够登陆上sql server数据库服务器。
二、实验内容
1、启动sql server 服务。
2、打开sql server的企业管理器,连接上sql server服务器。
展开左边树状窗口的各级
结点,观察右边内容窗口的变化。
3、打开sql server的查询分析器,用use命令打开样例数据库pubs。
4、在查询窗口输入exec sp_help,运行后察看结果。
5、在查询窗口输入select * from authors ,运行后察看结果。
三、实验结果
3、当不确定当前所操作的是哪个数据库,可使用use来定位到某数据库。
4、
5、查询某张表的所有列。
实验2 简单查询
实验3 创建和修改数据表
实验4 简单的单表查询
实验5 复杂的单表查询
实验6 连接查询
实验7 嵌套查询
实验8 数据更新。
实验题目:sql查询——简单查询【实验目的与要求】一、实验目的1. 熟练掌握单表查询的select语法结构;2. 通过观察查询结果, 体会select语句的实际应用。
二、实验要求1.实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成实验内容的预习准备工作。
2.能认真独立完成实验内容。
3.实验后做好实验总结,根据实验情况完成实验报告。
【实验环境】pc机、windows xp系统+sql server 2005 【实验内容】基于实验一建立的educ 数据库,用transact-sql 语句实现如下查询:1.选修了课程的学生学号;2.计算机系的学生;3.计算机系学生的学号和姓名;4.计算机系和信息系的男生信息;(提示:逻辑运算符的优先级顺序)5.选修上课编号为1且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75输出;(提示:新输出项要命名列标题)6.没有成绩的学生的学号和上课编号;7.选修上课编号为1或4的学生的学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列;(提示:查询输出哪几项)8.1995年1月1日(含)以后出生的学生信息,并按姓氏拼音字母顺序从前往后排列(注:默认排序规则通常是chinese_prc_ci_as,汉字按照汉语拼音的字典顺序来排序:首先按拼音,拼音相同按声调,声调相同按笔画数。
)9.姓李和刘的学生的信息;10.不姓张王李刘的学生的学号、姓名和性别;11.选修课程的学生人数;12.选修上课编号为1的学生的最高分;13.每位学生所修课程的平均分;14.选修两门以上课程的学生;15.总成绩大于200 分的学生的学号和总成绩。
(提示:group by分组统计)【实验方法和步骤】1.新建查询,在查询编辑器中依次按照如上实验内容编写select语句完成查询。
2.每执行一条查询语句,在查询结果网格中查看执行结果是否正确。
【实验结果】select distinct sno from student_course select * from student where dno = 计算机select sno,sname from student where dno = 计算机select * from studentwhere sex =男 and dno in(计算机,信息) select sno,0.75*score as 成绩from student_course where tcid =1 and score between80 and 90select sno,score from student where (tcid=1 or tcid=4) order by score desc,sno select *from student where birthday>=1995-1-1order by sname asc select *from student where sname like[李刘]% select sno,sname,sex from student where sname like[^张王李刘]% select count(distinct sno)as 选课人数from student_course select max(score) as 最高分from student_course where tcid=1 select sno,avg(score)as 平均分from student_course group by sno select sno,count(distinct tcid)as 选课门数from student_course group by snohaving count(tcid)>2 select sno,sum(score)as 总成绩from student_course group by sno havingsum(score)>=200 order by 总成绩desc 【实验体会】利用select语句可以实现对已有表中数据的查询的。
《数据库系统概论(第四版)》体会学号:姓名:班级:教师:学期实验总结与心得【实验名称】数据库的创建【实验内容】 1、新建sql注册表。
2、新建数据库。
主数据文件:逻辑文件名为student_data,物理文件名为student.mdf,初始大小为10mb,最大尺寸为无限大,增长速度为10%;数据库的日志文件:逻辑名称为student_log,物理文件名为student.ldf,初始大小为1mb,最大尺寸为5mb,增长速度为1mb 3、修改已注册的sql server属性为使用sql server身份验证。
【实验名称】数据库的附加、分离、导入导出及分离【实验内容】1. 数据库文件的附加与分离 (转载于:sql实验报告总结)2. 数据库文件的导入和导出3..数据库的删除4.修改数据库【实验名称】数据库的创建(书中作业)【实验内容】1. 在数据库student中创建一个学生基本信息表1.用企业管理其创建表2.用查询分析器创建表2.sql server 2005的系统数据类型分为哪几类?常用的数据类型有哪些?答:字符串类型、整型、长整型、短整型、浮点数类型、定点数类型、日期、时间。
常用的数据类型有:字符串类型、整型、长整型、短整型、浮点数类型、定点数类型、日期、时间3.在数据库student中创建一个名为t_couse(课程信息表) 1.用企业管理其创建t_course表2.用查询分析器创建t_course4.在数据库student中创建一个名为t_score(学生成绩)的表5.sql server 2005 中有多少种约束?其作用分别是什么答:非空约束,作用指定某一列不允许空值有助于维护数据的完整性,因为这样可以确保行中的列永远保护数据。
主键约束,作用可以保证实体的完整性,是最重要的一种约束。
唯一约束,作用指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值。
检查约束,作用对输入列或者整个表中的值设置检查条件,以限制输入值,保证数据库数据的完整性。
以上两个对话框的名字要一致,或者是干脆就写“localhost”即可如果遇到上述错误信息,可能的原因是SQL Server的服务没有启动,可以采用下述方法去解决到“控制面板”-“管理工具”- “服务”,找到下面的内容点击左侧的“Start”启动就可以了数据库名称就是要创建的数据库名,点击确定的话,就会创建两个文件,Test.mdf和Test.ldf。
那么这两个文件在哪个文件夹里呢?向右拖动滚动条,就可以看到了。
保存使用相同的方法,创建其它的表注意:一定要按行输入等所有的表的记录输入完毕,就可以开始查询了点击“新建查询”常见问题1.注意:在执行查询时一定要保证红框处选择你要使用的数据库名2.如何复制新建的数据库,然后安装到其它计算机中?1)点击“分离”,则该数据库从当前环境中消失,这时就可以在Windows资源管理器中把该文件复制走2)然后复制到你的机器中,之后打开SQL Server,点击“附加”选择要附加的数据库(找mdf扩展名的文件)3.附录:1.在SQL Server2005中,使用一组操作系统文件来映射数据库。
数据库中的所有数据和对象都存在于下列操作系统文件中。
(1)主要数据文件(.mdf)主要数据文件包括数据库的启动信息,并用于存储数据。
每个数据库都有一个主要数据文件。
(2)次要数据文件(.ndf)次要数据文件也用来存储数据,它含有不能置于主要数据文件中的所有数据。
如果主要数据文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。
如果数据库很大,主要数据文件的容量超过了系统的限制,就需要设置一个或多个次要数据文件,并将它们存储在不同的磁盘上。
(3)事务日志文件(.ldf)事务日志文件包含用于恢复数据库的日志信息。
每个数据库都必须至少有一个事务日志文件。
2.SQL Server2005中,默认安装如下几个数据库,不要对其进行任何改动。
(1)master数据库顾名思义,master数据库是SQL Server2005中的总控数据库,它是最重要的系统数据库,记录系统中所有系统级的信息。
sqlserver 2005 parsejson用法-回复SQL Server 2005是微软发布的一款关系型数据库管理系统,它在存储、管理和查询数据方面提供了强大的功能。
其中,解析JSON数据是SQL Server 2016版本以后的新增功能,因此在SQL Server 2005中并不存在原生的解析JSON数据的方法。
但是,我们可以通过其他一些方法来实现对JSON数据的解析和操作。
在本文章中,我们将一步一步地介绍如何在SQL Server 2005中解析JSON数据。
第一步:创建存储过程在SQL Server 2005中,我们可以使用存储过程来实现对JSON数据的解析。
首先,我们需要创建一个存储过程,用于解析JSON数据并将其存储在数据库中。
以下是一个示例的存储过程,它接受一个JSON字符串作为参数,并将其解析为表格数据:CREATE PROCEDURE ParseJSONData @json NVARCHAR(MAX)ASBEGIN/* 解析JSON数据并存储到表格*/your code hereEND第二步:使用OPENJSON函数在SQL Server 2016版本之前,我们无法使用原生的解析JSON数据的函数。
但是,我们可以使用OPENJSON函数的一种替代方法。
通过使用OPENJSON函数,我们可以解析JSON数组,并将其存储在表格中。
以下是一个示例的存储过程,它演示了如何解析JSON数组:CREATE PROCEDURE ParseJSONData @json NVARCHAR(MAX) ASBEGIN/* 解析JSON数组并存储到表格*/SET @json =REPLACE(REPLACE(REPLACE(@json,'[',''),']',''),'},','}')DECLARE @idx INT = 1WHILE @idx <= LEN(@json)BEGINDECLARE @start INT = @idxDECLARE @end INT = CHARINDEX(',', @json, @start)IF @end = 0SET @end = LEN(@json) + 1DECLARE @jsonRow NVARCHAR(MAX) = SUBSTRING(@json, @start, @end - @start)将JSON数组中的每个对象插入到表格中your code hereSET @idx = @end + 1ENDEND此存储过程将每个JSON对象的字符串表示分割成单个JSON字符串,并使用逗号作为分隔符。
1.实验目的(1)掌握视图的建立和使用方法(2)掌握数据存取控制机制(用户和密码) 机制(实体完整性、参照完整性和用户定义完整性) 及其必要性和重要性。
2.实验原理( 1)视图机制。
SQL Server 管理工作室 SSMS (对象资源管理器+查询编辑器) ;视 图的对象资源管理器实现和 Transact-SQL 实现( 2)数据库安全、完整性和数据备份等安全机制的理论和技术。
3.实验内容利用“学籍”和“商品信息”数据库以及实验素材完成如下相关操作:( 1)分别利用 SSMS 的对象资源管理器和查询编辑器建立、修改、更新、查询、删 除实验材料提供的视图操作。
建立数据库用户和角色。
完整性控制机制的实现(实体完整性,参照完整性,用户定义完整性) 触发器的实现 权限管理: 1)授权; 2)阻权; 3)收权。
数据库的备份与恢复、分离与附加(详见实验 4.实验要求 熟练掌握视图机制及其使用方法。
熟练掌握管理 SQL Server 登录用户的方法。
熟练掌握管理数据库用户(角色)的方法。
熟练掌握数据完整性约束的实现方法 (主键、 外键与参照关系、 用户定义约束) 。
熟练掌握用户的权限管理方法(授权、阻权和收权) 熟练掌握触发器的管理方法。
5.方法步骤 启动SSMS ;对象资源管理器中,根据实验素材(或者自行设计),依次实现SQL Server 登录、数据库用户(角色) 、完整性约束、触发器的创建、修改和删除等操作;权限的授实验 4 数据保护;权限管理(授权与收权) 、完整性控制 ;数据库的备份机制等数据保护技术2)3)4)5) 6) 1)。
1)2)3)4)5)6)权、阻权和收回等操作。
在查询编辑器中,使用 Transact-SQL 依次实现上述操作。
(1)在对象资源管理器中,编辑和运行指定(实验材料,或者自行设计)的视图。
◊启动查询设计器(SSMS T 对象资源管理器7展开学籍7右击视图7新建视图) 或者从菜单中启动查询设计器(查询7在编辑器中设计查询) ◊ ◊ ◊ ◊ 新建视图。
配置SQL Server 2005服务器服务与服务器是两个不同的概念,服务器是提供服务的计算机,配置服务器主要是对内存、处理器、安全性等几个方面配置。
由于SQL Server 2005服务器的设置参数比较多,这里选一些比较常用的介绍。
配置SQL Server 2005服务器的办法:启动【SQL Server Management Studio】,在【对象资源管理器】窗口里,右击要配置的服务器(实例)名,在弹出的快捷菜单里选【属性】选项。
下面介绍各选项卡里的内容。
4.5.1 常规服务器属性的【常规】选项卡,此处功能是查看服务器的属性,例如服务器名、操作系统、CPU数等等。
此处各项只能查看,不能修改。
选项卡里有以下项目:l 名称:显示服务器(实例)的名称。
l 产品:显示当前运行的SQL Server的版本。
l 操作系统:显示当前运行的操作系统及版本号。
l 平台:显示运行SQL Server的操作系统和硬件。
l 版本:显示当前运行的SQL Server版本号l 语言:显示当前的SQL Server实例所使用的语言。
l 内存:显示当前服务器上安装的内存大小。
l 处理器:显示当前服务器上安装的CPU数量。
l 根目录:显示当前SQL Server实例所在的目录。
l 服务器排序规则:显示当前服务服务器采用的排序规则。
l 已群集化:显示是否安装了SQL Server 2005服务器群集。
4.5.2 内存服务器属性的【内存】选项卡,选项卡里有以下项目:l 使用AWE分配内存:32位的操作系统最多只能支持到4GB的内存,然而大型的SQL Server 2005服务器的物理内存可以扩展到64GB。
如果要使用大于4GB的内存,就要用到Windows 2000和Windows Server 2003地址对话框化扩展插件(AWE)API来识别和分配了。
这个选项是指定SQL Server利用AWE来支持超过4GB以上的物理内存。
SQL-Sever-2005-习题与答案一1.使用SQL Server管理平台中创建studentsdb 数据库,并修改studentsdb数据文件和日志的初始大小、最大文件大小、增长容量及文件路径。
2.使用Transact-SQL语句CREATE DATABASE创建studb数据库,指定数据文件大小、最大文件大小、增长容量及文件路径。
3.使用Transact-SQL语句ALTER DATABASE完成修改数据库设置、增加日志文件及更名等操作。
4.使用SQL Server管理平台中在studentsdb 数据库中创建数据表student_info(其数据结构如图1-2所示),并增加部分数据。
5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表,其数据结构如图1-4所示。
6.使用Transact-SQL语句ALTER TABLE修改相同的所有学生的姓名、出生日期。
6.使用IN子查询,查找所修课程编号为0002、0005的学生学号、姓名、性别。
7.查询学习“C语言程序设计”课程的学生的学号、姓名、分数。
8.查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程编号、分数。
9.查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学生的总成绩为空。
10.为grade表添加数据行:学号为0004、课程编号为0006、分数为76。
查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。
三1.使用Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。
2.使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。
3.使用Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。
实验二 使用向导创建和删除数据库●实验指导——使用向导创建和删除数据库(1) 使用向导创建上诉描述的数据库。
使用SQL Server Management Studio(简称SSMS)创建数据库。
1.启动SSMS在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。
如果身份验证选择的是“混合模式”,则要输入sa的密码。
2.建立数据库在“对象资源管理器”窗口,建立上述数据库EDUC。
在数据库节点上右击选择新建。
同时建立一个同样属性的数据库EDUC1。
(2)使用向导删除上面建立的数据库。
用SSMS删除添加建立的数据库EDUC1。
实验三 使用SQL语句创建和删除数据库一. 实验目的:1、了解SQL Server 2005数据库的逻辑结构和物理结构。
2、掌握使用SQL 语句创建和删除数据库。
二. 实验准备1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
2.了解用SQL语句创建和删除数据库的基本语法。
三. 实验要求3、熟练使用查询分析器进行数据库的创建和删除操作4、完成用sql语句建立和删除数据库的实验报告四. 实验内容1.以下是创建数据库userdb1的SQL语句,create database userdb1on(name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在size=5,--数据初始长度为5Mmaxsize=10,--最大长度为10Mfilegrowth=1)--数据文件每次增长1Mlog on( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)运行上诉语句建立数据库userdb12.根据步骤1的sql语句,写出创建实验二中数据库EDUC的sql语句,并建立数据库EDUC.3.用SQL语句删除步骤一建立的数据库userdb1。
实验四 分别用向导和SQL语句创建和删除表一.实验目的1.了解表的结构特点。
2.了解SQL Server的基本数据类型。
3.学会在企业管理器中创建表。
4.学会使用T-SQL语句创建表。
二.实验要求1.熟练使用企业管理器创建和删除基本表。
2.是用查询分析器,完成用SQL语句创建和删除基本表。
3.完成用企业管理器和SQL创建和删除基本表的实验报告。
三. 实验准备1. 确定数据库包含包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
2. 已完成实验三,成功创建了数据库EDUC。
3.了解常用的创建表的方法。
四. 实验内容1.在实验三建立的数据库EDUC中,根据分析需要如下几个表:表2.1 student表(学生信息表)字段名称 类 型 宽度允许空值 主 键 说 明sno char 8 NOT NULL 是 学生学号sname char 8 NOT NULL 学生姓名sex char 2 NULL 学生性别native char 20 NULL 籍贯birthday smalldate 4 NULL 学生出生日期dno char 6 NULL 学生所在院系spno char 8 NULL 专业代码(外键) classno char 4 NULL 班级号entime smalldate 4 NULL 学生入校时间home varchar 40 NULL 学生家庭住址tel varchar 40 NULL 学生联系电话表2.2 course表(课程信息表)字段名称 类 型 宽 度允许空值 主 键 说 明cno char 10 NOT NULL 是 课程编号spno char 8 NULL 专业代码(外键) cname char 20 NOT NULL 课程名称ctno tinyint 1 NULL 课程类型编号(外键) experiment tinyint 1 NULL 实验时数lecture tinyint 1 NULL 授课学时semester tinyint 1 NULL 开课学期credit tinyint 1 NULL 课程学分表2.3 student_course表(学生选课成绩表)字段名称 类 型 宽 度允许空值 主 键 说 明sno char 8 NOT NULL 是 学生学号tcid smallint 2 NOT NULL 是 上课编号 score tinyint 1 NULL 学生成绩表2.4 teacher表(教师信息表)字段名称 类 型 宽 度允许空值 主 键说 明 tno char 8 NOT NULL 是 教师编号tname char 8 NOT NULL 教师姓名sex char 2 NULL 教师性别birthday smalldate 4 NULL 教师出生日期dno char 6 NULL 教师所在院系pno tinyint 1 NULL 教师职务或职称编号 home varchar 40 NULL 教师家庭住址 zipcode char 6 NULL 邮政编码tel varchar 40 NULL 联系电话email varchar 40 NULL 电子邮件表2.5 teacher_course表(教师上课课表)字段名称 类 型 宽 度允许空值 主 键说 明 tcid smallint 2 NOT NULL 是 上课编号tno char 8 NULL 教师编号(外键) spno char 8 NULL 专业代码(外键) classno char 4 NULL 班级号cno char 10 NOT NULL 课程编号(外键) semester char 6 NULL 学期schoolyear char 10 NULL 学年classtime varchar 40 NULL 上课时间 classroom varchar 40 NULL 上课地点 weektime tinyint 1 NULL 每周课时数2.根据如上表结构用向导创建各表。
3.用企业管理器删除所建立的表Student_course,Student和Course4.在查询分析器中用sql语句删除表Tearch_course和表Teacher5.根据如上表结构用SQL语句创建各表。
6.将以上创建表的SQL命令以 .SQL文件的形式保存在磁盘上实验四 分别用向导和SQL语句创建和删除表●实验指导——创建表一.用向导创建表用SQL Server 2005的企业管理器创建student表输入表的属性:用以上方法在企业管理器中创建其他表。
二.用SQL语句创建表在SQL Server 2005 的查询分析器中,用sql语句创建student表。
CREATE TABLE student(sno char(8) PRIMARY KEY, --学号(主键)sname char (8) NOT NULL, --姓名sex char(2), --性别native char(20), --籍贯birthday smalldatetime, --出生日期dno char(6), --所在院系spno char(8), --专业代码(外键)classno char(4), --班级号entime smalldatetime, --入校时间 home varchar (40), --家庭住址 tel varchar (40) --联系电话)用以上方法用sql语句创建其他表。
实验五 修改数据库基本表的定义一. 实验目的1.了解表的结构特点。
2.学会在企业管理器中修改表的定义。
3.学会使用SQL语句修改表的定义。
二. 实验准备1.成功完成实验四,在EDUC数据库中已经成功建立了各表。
2.了解常用的修改表定义语句。
三. 实验要求1. 完成在已经创建成功的表上修改表定义的操作2. 写出实验报告。
四. 实验内容1.修改列属性(1) 用企业管理器将Student表中的birthday字段设为不能为空(not null)。
(2) 用SQL语句将Student表中的属性sno char(8)改成varchar(20)类型。
2.添加列(1) 用企业管理器在Course表中添加一列year ,类型为varchar(4),默认置为空。
(2) 用SQL语句在year字段添加约束,year 的属性值在2004-2008之间。
3.删除列(1)用SQL语句将Course表中的year字段删除。
实验六 创建和删除索引一. 实验目的1.了解索引的类型和应用。
2.学会用SQL语句对表创建和删除索引二. 实验准备1. 完成实验四,成功创建数据库EDUC中各表2. 了解创建和删除索引的方法。
三. 实验要求1. 了解索引类型并比较各类索引的不同之处3.完成索引的创建和删除,并提交实验报告。
四. 实验内容1. 分别建立以下索引(如果不能成功建立,请分析原因)(1) 在student表的sname列上建立普通降序索引。
(2) 在course表的cname列上建立唯一索引。
(3) 在student_course表的sno列上建立聚集索引。
(4) 在student_course表的sno(升序), tid(升序)和score(降序)三列上建立一个普通索引。
2. 删除索引将student_course表的sno列上的聚集索引删掉。