数据库实验一_第1页
数据库实验一_第2页
数据库实验一_第3页
数据库实验一_第4页
数据库实验一_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、陈自洁2020-12-2医药商学院电子商务教研室电子商务数据库技术 实验指导书电子商务专业使用实验1 SQL Server 2005安装及管理工具的使用一、实验目的1.了解SQL Server 2005安装对软、硬件的要求,学会安装方法。2.了解SQL Server的注册和配置方法。3.了解SQL Server 2005包含的主要组件及其功能。4.熟悉管理控制器和查询分析器的界面及基本使用方法。5.了解数据库及其对象。二、实验准备1.了解安装SQL Server 2005的软、硬件要求。2.了解SQL Server 2005支持的身份验证模式。Windows的两种服务帐户:本地系统帐户和域用户

2、帐户。3.了解SQL Server各组件的主要功能。4.对数据库、表和数据库对象有一个基本了解。5.了解在查询分析器中执行SQL语句的方法。三、实验内容及步骤1.根据软、硬件环境的要求,安装SQL Server 2005。(请课后到微软网站上自行下载SQL server 2005学习版进行安装)2.配置数据库通过“开始”“程序”Microsoft SQL Server 2005“配置工具”server configuration manager菜单项,打开“SQL Server配置管理器”窗口,在界面左边的树目录中选择SQL Server2005服务。并且通过该窗口“启动”和“停止”SQL S

3、erver服务。3.查看SQL Server的相关信息。(1)在SQL Server管理平台的对象资源管理器中打开本地服务器的属性对话框,查看以下信息:产品名称、主机操作系统、产品的版本、操作平台、主机内存等。 通过“开始”“程序”Microsoft SQL Server 2005“配置工具”server configuration manager菜单项,打开“SQL Server配置管理器”窗口,选择服务器名称-连接,界面如图1。 图1在对象资源管理器处选择第一项-右击-属性,出现的界面如图2(2)在SQL Server管理平台中,注册服务器。查看本地已注册的SQL Server。搜索网络上

4、另一台计算机,并且注册该机上的SQL Server,注册时使用“windows认证模式”或“用我的SQL Server身份认证”的连接方式。(3)从SQL企业管理器中注销网络SQL Server。注意:如果操作系统上未能安装服务器组件,则该台计算机不能作为SQL server服务器,也就无法注册。4.操作了解SQL server management studio(SQL server 管理控制器)的主要功能,它包括了SQL server 2000企业管理器、分析管理器和查询分析器的所有功能。(1)启动SQL server management studio(2)在打开的界面中,默认情况下看到

5、3个窗口,“已注册服务器”、“对象资源管理器”和“文档”窗口,了解每个窗口的功能。5.利用SQL Server管理平台访问数据库studentsdb(1)添加数据库文件studentsdb.mdf在SQL Server管理平台的对象资源管理器窗口中右击“数据库”,选择“附加”选项。选择“添加”后选择“studentsdb”文件。点击“确定”。(2)查看数据库的内容l 在树形目录中找到studentsdb数据库并展开,查看该数据库的所有对象,如表、视图、存储过程、默认和规则等。对象资源管理器-展开studentsdb-展开“表”-选择“dbo.curriculum”并右击-“打开表”对象资源管理

6、器-studentsdb-“视图”右击dbo.v_stu_g-“打开视图”l 选择studentsdb数据库的“表”选项,在右窗口中将列出studentsdb数据库的所有表(包括系统表和用户表),选择某个表,右击鼠标,弹出快捷菜单,从中选择“打开表”“返回所有行”菜单项,打开表,查看其内容。6.利用查询分析器访问studentsdb数据库的表。(1)在SQL server 管理控制器“SQL查询分析器”菜单项,运行SQL Server查询分析器。(2)在查询分析器窗口中,选择“查询”“更改数据库”菜单项,或者单击常用工具栏中的“更改数据库”下拉按钮,选择要操作的studentsdb数据库。(3

7、)在查询分析器的编辑窗口中,输入以下代码:SELECT 学号,姓名FROM student_infoWHERE 性别=女(4)选择查询分析器的“查询”“分析”菜单项,或者单击常用工具栏上“分析查询”按钮,查询分析器将对输入的代码进行语法分析,并由消息窗格给出分析结果报告。(5)选择查询分析器的“查询”“执行”菜单项,或者单击常用工具栏上“执行查询”按钮,SQL Server将编译窗口中的代码,并在结果窗格中显示查询结果。 7.SQL server 文档与教程 熟悉“联机帮助”。这非常重要,学会使用联机帮助来进行自学和解惑。四、实验思考1、SQL server 2005有哪两种身份验证模式?2、

8、SQL server 服务器是指什么?SQL server客户机是指什么?3、查询分析器的作用是什么?可以有几种启动查询分析器的方法?3、改变查询分析器的当前数据库,可以使用什么方法? 4、SQL server 2005的管理控制器有哪些功能?实验2 SQL Server数据库的管理一、实验目的1了解SQL Server数据库的逻辑结构和物理结构的特点。2学会使用企业管理器对数据库进行管理。3学会使用Transact-SQL语句对数据库进行管理。二、实验准备1确定能够创建数据库的用户是系统管理员,或是被授权使用CREATE DATABASE语句的用户。2确定要创建的数据库名、所有者(即创建数据

9、库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长即增长的方式)和存储数据的文件。3了解常用的创建数据库方法。三、实验内容及步骤1.在企业管理器中创建studentsdb数据库。(1)运行SQL Server管理器,启动企业管理器,展开服务器“(LOCAL)(Windows NT)”。(2)右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。在新建数据库对话框的名称文本框中输入学生管理数据库名studentsdb。2.选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“数据文件”、“事务日志”、“文件组”、“选项”和“权限”页面。3.打开studen

10、tsdb数据库的“属性”对话框,在“数据文件”选项卡中修改studentsdb数据文件的“分配空间”大小为2MB。指定“最大文件大小”为5MB.在“事务日志”选项卡中修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。4.启动查询分析器,在查询分析器中使用Transact-SQL语句CREATE DATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息。5.在查询分析器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小文1MB。6.

11、在企业管理器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。7.使用企业管理器将studb数据库的名称更改为student_db。8.使用Transact-SQL语句DROP DATABASE删除student_db数据库。9. 在企业管理器中删除studentsdb数据库。10. 在查询分析器中使用SQL语句完成以下内容,并将SQL语句记录在实验思考题二中。(1)创建一个“图书管理系统”数据库,该数据库的主数据文件的逻辑名称为“图书管理系统”,操作系统文件名是“图书管理系统.mdf”,大小为5MB,最大是50MB,以10%的速度增加;该

12、数据据的日志文件的逻辑名是“图书管理日志”,操作系统文件名为“图书管理日志.ldf”,大小是5MB,最大是30MB,以1MB的速度增加。请用SQL语句实现。(2)修改“图书管理系统”数据库,使图书管理系统数据库的文件增长幅度为8MB,用SQL语句实现。11. 收缩数据库对上面建立的数据库进行操作。12.创建并存储数据库维护计划四、实验思考1.新数据库是否包含SQL server在主设备中生成的模型数据库内的所有对象?2.将创建和修改“图书管理系统”数据库的SQL语句书写出来。实验3(1) E-R图(2学时)一、实验目的1、掌握E-R方法2、学会绘制一个具体应用问题的E-R图3、学会将E-R图转

13、换成关系模型二、实验准备1、了解E-R方法2、学会使用visio绘制E-R图3、进入windows xp系统,找到visio软件三、实验内容1、熟悉E-R图的主要成分:实体、联系和属性,并掌握它们的表现方式。2、打开visio,并熟悉E-R图模块的应用方法。3、参照以下说明,在visio里绘制该百货公司的E-R图,并将该E-R图填写在实验思考的空白处。某百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只服务于一家商店。商店 实体型的属性有:店号、店名、店址、店经理商品 :商品号、品名、单价、产地职工 :工号、姓名、性别、工资在联系中反映出职工参加某商店工作的开始时

14、间、商店销售量。4、将百货公司的E-R模型向关系模型的转换,写出所得到的所有关系模式。5、现假设要建立一个学生管理系统,你作为设计人员,首先必须用E-R方法描绘出该学生管理系统的概念模型,然后再把该E-R模型转换成关系模型,以用于数据库及数据表的设计及建立。请尝试将该学生管理系统的简单E-R图用visio绘制出来,填写在实验思考空白处,再将转换后的关系模型也填到空白处。四、实验思考1、绘制出百货公司E-R图2、写出百货公司ER图对应的关系模式。3、绘制出学生管理系统的E-R图。4、写出学生管理系统的关系模式。Visio并没有提供专门的ER模块,要么使用“数据库”里的模块,要么使用“框图”里的基

15、本图形来画ER图。菱形可由圆形变换而来,连接线可通过右击,选择“直线连接线”还是“曲线连接线”等。也可通过选择自选图形,专门建立ER图的模具。实验3(2) SQL Server数据表的管理一、实验目的1.学会使用企业管理器和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表。2.学会在企业管理器中对表进行插入、修改和删除数据操作。3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。4.了解SQL Server的常用数据类型。二、实验准备1.了解在企业管理器中实现表数据的操作,如插入、修改和删除等。2.掌握用Transact-SQL语句

16、对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE和TRANCATE TABLE)操作。三、实验内容及步骤1.启动企业管理器,展开studentsdb数据库文件夹。2.在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2、图1-3和图1-4所示。图1-2学生基本情况表student_info图1-3课程信息表curriculum图1-4学生成绩表grade3.在企业管理器中创建student_info、curriculum表。4.在企业管理器中,将student_info表的学号列设置为主键,非

17、空。5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。6.student_info、curriculum、grade表中的数据如图1-5、图1-6和图1-7所示。图1-5 student_info的数据图1-6 curriculum的数据图1-7 grade的数据使用企业管理器将curriculum表的课程编号列设为主键,将grade表的学号列和课程编号列的组合设置为主键。并建立三个表之间的联系。7.在企业管理器中为student_info、curriculum、grade表添加数据。8.使用Transact_SQL语句INSERT I

18、NTO.VALUES向studentsdb数据库的grade表插入以下数据:学号课程编号分数0004 0001 809.使用Transact_SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。10.使用Transact_SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。11.使用Transact_SQL语句ALTER TABLE修改student_info表的“姓名”列,使其列名为“学生姓名”,数据类型为archar(10),非空。12.分别使用企业管理器和Transact_SQL语句DELETE删除studentsdb

19、数据库的grade表中学号为0004的成绩记录。DELETE grade WHERE学号=000413.使用Transact_SQL语句UPDATE修改studentsdb数据库的grade表中学号为0003、课程编号为0005、分数为90的成绩记录。UPDATE grade SET分数=90WHERE学号=0003 and课程编号=000514.使用Transact_SQL语句ALTER.ADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。ALTER TABLE grade ADD备注VARCHAR(20) NULL15.分别使用

20、企业管理器和Transact_SQL语句DROP TABLE删除studentsdb数据库中的grade表。四、实验思考1使用Transact-SQL语句删除在studentsdb数据库的grade表添加“备注”数据列。2 在企业管理器中,studentsdb数据库的student_info表的数据输入时,如果输入相同学号的记录将出现什么现象?怎样避免该情况的发生?3 请将实验内容中5、8、10步中的SQL语句填写在下面:步骤5:使用CREATE TABLE在studentsdb数据库中创建表grade步骤8:使用SQL语句向grade表中插入数据学号课程编号分数0004 0001 80步骤1

21、0:使用Transact_SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。4简述表列的特性都有哪些?它们的作用分别是什么?5grade表的主键是什么?为什么为设置它为grade表的主键?6分离和附加数据库的主要作用是什么?l 分离和附加数据库(这一步很重要,以免下次实验要重新输入数据,请妥善保管好备份后的数据。这个步骤要熟悉,以后的实验要反复使用分离和附加数据库的操作。)不懂分离和附加数据库的具体操作,请查询“联机帮助”。1、将studentsdb数据库从本地服务器中分离出来,并将studentsdb数据库的主数据文件.mdf和日志文件.ldf保存在安全的

22、地方,以保证以后的实验可随时使用这次实验建立的数据。注意观察分离前后,本地服务器数据库的变化。2、找到studentsdb数据库的主数据文件和日志文件,将studentsdb数据库附加到本地服务器。l 导出数据备份数据除了使用“分离和附加数据库”的方法外,还可通过“导入/导出数据”功能。使用导出数据的方法将student_info, curriculum 和grade进行备份。实验4(1)数据更新与简单的数据查询一、实验目的1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。2.掌握使用SELECT语句进行条件查询的方法。3.掌握嵌套查询的方法。4.掌握多表查询的方法。5

23、.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。6.掌握联合查询的操作方法。7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。二、实验准备1.了解SELECT语句的基本语法格式和执行方法。2.了解嵌套查询的表示方法。3.了解UNION运算符的用法。4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。5.了解IN、JOIN等子查询的格式。6.了解INSERT INTO、UPDATE、DELETE的格式与作用。三、实验内容及步骤0.创建studentsdb数据库及其相应表,并录入数据; 或者 附加studentsd

24、b数据库。启动查询分析器。1.在studentsdb数据库中,使用下列SQL语句将输出什么?(1)SELECT COUNT(*) FROM grade(2)SELECT SUBSTRING(姓名,1,2) FROM student_info(3)SELECT UPPER(kelly)(4)SELECT Replicate(kelly,3)(5)SELECT SQRT(分数) FROM grade WHERE分数=85(6)SELECT 2,3,POWER(2,3)(7)SELECT YEAR(GETDATE(),MONTH(GETDATE(),DAY(GETDATE()2.在studentsd

25、b数据库中使用SELECT语句进行基本查询。(1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。(2)查询学号为0002的学生的姓名和家庭住址。(3)找出所有男同学的学号和姓名。3.使用SELECT语句进行条件查询(1)在grade表中查找分数在8090分为内的学生的学号和分数。(2)在grade表中查询课程编号为0003的学生的平均分。(3)在grade表中查询学习各门课程的人数。(4)将学生按出生日期由大到小排序。(5)查询所有姓“张”的学生的学号和姓名。SELECT学号,姓名FROM student_info WHERE姓名LIKE 张% 4.使用SQL语句执行

26、数据更新。(1)创建totalgrade表,具有数据列:学号 char(4) 非空、姓名 varchar(8)、总成绩 decimal(5,2)。(2)使用INSERT INTOselect语句,将student_info表中的学号、姓名列数据复制给totalgrade表,并将totalgrade表中的“总成绩”列的值初始化为0。(3)使用UPDATE语句通过grade表更新totalgrade表的“总成绩”列数据,使totalgrade表中每个学生的总成绩为grade表中该学生各成绩之和。UPDATE totalgrade SET 总成绩=(SELECT SUM(分数) FROM grade

27、 WHERE totalgrade.学号=grade.学号)(4)删除totalgrade表中没有总成绩的学生记录。四、实验思考将所有实验内容填写出来。实验4(2)多表查询一、实验目的1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。2.掌握使用SELECT语句进行条件查询的方法。3.掌握嵌套查询的方法。4.掌握多表查询的方法。5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。6.掌握联合查询的操作方法。7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。二、实验准备1.了解SELECT语句的基本语法格式和执

28、行方法。2.了解嵌套查询的表示方法。3.了解UNION运算符的用法。4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。5.了解IN、JOIN等子查询的格式。6.了解INSERT INTO、UPDATE、DELETE的格式与作用。三、实验内容及步骤0.创建studentsdb数据库及其相应表,并录入数据; 或者 附加studentsdb数据库。启动查询分析器。1查询分数在8090范围内的学生的学号、姓名、分数。SELECT student_info.学号,姓名,分数FROM student_info,gradeWHERE student_info.学号=grade.学号AN

29、D分数BETWEEN 80 AND 902查询学习“C语言程序设计”课程的学生的学号、姓名、分数。SELECT student_info.学号,姓名,分数FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号INNER JOIN curriculum ONgrade.课程编号= curriculum.课程编号AND 课程名称=C语言程序设计3查询所有男同学的选课情况,要求列出学号、姓名、课程名称、分数。4查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程名称、分数。5查询所有学生的总成绩,要求列出学号、姓名、总成绩,没

30、有选修课程的学生的总成绩为空。 提示:使用左外连接。6为grade表添加数据行:学号0004、课程编号为0006、成绩为76。查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。 提示:使用右外连接。7. (1)查询年龄在19-21范围内的学生信息。(2)查询姓“欧阳”且全名只有3个汉字的学生信息。(3)先按学号升序排序,再按成绩降序排列,检索出学生成绩信息。(4)查询没有成绩的学生的姓名。(5)查询选修了课程的学生人数。(6)查询每个学生的所选课程的成绩,并列出学号生成分组汇总(总成绩)和明细行(各课成绩)。提示:使用SELECT语句的C

31、OMPUTE选项。四、实验思考请将实验内容3-7的结果填写在下面空白处。实验4(3)多表查询与嵌套查询一、实验目的1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。2.掌握使用SELECT语句进行条件查询的方法。3.掌握嵌套查询的方法。4.掌握多表查询的方法。5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。6.掌握联合查询的操作方法。7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。二、实验准备1.了解SELECT语句的基本语法格式和执行方法。2.了解嵌套查询的表示方法。3.了解UNION运算符的用法。4

32、.了解SELECT语句的GROUP BY和ORDER BY子句的作用。5.了解IN、JOIN等子查询的格式。6.了解INSERT INTO、UPDATE、DELETE的格式与作用。三、实验内容及步骤0.创建studentsdb数据库及其相应表,并录入数据; 或者 附加studentsdb数据库。启动查询分析器。1在student_info表中查找与“刘卫平”性别相同的所有学生的姓名、出生日期。SELECT姓名,出生日期FROM student_infoWHERE性别= (SELECT性别 FROM student_info WHERE姓名=刘卫平)2使用IN子查询查找所修课程编号为0002、0

33、005的学生学号、姓名、性别。SELECT学号,姓名,性别FROM student_infoWHERE student_info.学号IN (SELECT学号 FROM grade WHERE课程编号IN (0002, 0005)3列出学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。SELECT课程编号,分数FROM gradeWHERE学号=0001 AND分数ANY (SELECT分数 FROM grade WHERE学号=0002)4 列出学号为“0001”的学生的分数比“0002”的学生的最高成绩还要高的课程编号和分数。5查询成绩高于学号为0001的学生的所有

34、课程成绩的学生成绩记录。(使用聚合函数来实现) 6查询至少选修了2门课程的每个学生的平均成绩。7查询全部学生成绩都不在60-80分范围内的课程的信息。8.使用UNION运算符将student_info表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称,如图1-8所示。图1-8联合查询结果集四、实验思考将实验内容4-8的结果填写在下面空白处。实验5索引和视图一、实验目的1.学会使用企业管理器和Transact-SQL语句CREATE INDEX创建索引。2.学会使用企业管理器查看索引。3.学会使用企业管理器和Transact-SQ

35、L语句DROP INDEX删除索引。4.掌握使用企业管理器、向导等创建、管理和删除全文索引,并使用全文引索查询信息的方法。5.掌握使用企业管理器和Transact-SQL语句CREATE-VIEW创建视图的用法。6.掌握系统存储过程sp_rename的用法。7.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。二、实验准备1.了解聚集索引和非聚集索引的概念。2.了解使用Transact-SQL语句CREATE INDEX创建索引的语法。3.了解使用企业管理器创建索引的步骤。4.了解Transact-SQL语句DROP INDEX删除索引的用法。5.了解创建视图的Trans

36、act-SQL语句CREATE INDEX的语法格式及用法。6.了解修改视图的Transact-SQL语句ALTER VIEW的语法格式。7.了解视图更名的系统存储过程sp_rename的用法。8.了解删除视图的Transact-SQL语句DROP VIEW的用法。三、实验内容0.创建studentsdb数据库及其相应表,并录入数据; 或者 附加studentsdb数据库。启动查询分析器。1.分别使用企业管理器和Transact-SQL语句为studentsdb数据库的student_info表格和curriculum表创建主键索引。2.使用企业管理器按curriculum表的课程编号列创建唯

37、一性索引。3.分别使用企业管理器和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。CREATE INDEX grade_index ON grade(分数)4.为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。 CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号)5.分别使用企业管理器和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。

38、sp_helpindex grade6.使用企业管理器的“向导”工具对grade表创建一个聚集索引和唯一索引。7.使用系统存储过程sp_rename将引索grade_index更名为grade_ind。 sp_renamegrade.grade_index,grade_ind,INDEX8.分别使用企业管理器和Transact-SQL语句DROP INDEX删除索引grade_ind。再次使用系统存储过程sp_helpindex查看grade表上的索引信息。 DROP INDEX grade.grade_ind9.分别使用企业管理器和系统存储过程sp_fulltext_database为stu

39、dentsdb数据库启用全文索引。10.分别使用企业管理器和系统存储过程sp_fulltext_catalog为studentsdb数据库建立全文目录,命名为FT_stu。为student_info表建立全文索引数据元。 execute sp_fulltext_catalogFT_stu,create exec sp_fulltext_tablestudent_info,create,FT_stu,PK_student_info在建立全文索引数据元之前保证已为student_info表建立了PK_student_infl索引。11.为student_info表设置全文索引列名为家庭住址。在全文

40、目录中注册该表,激活表的全文检索能力。 execute sp_fulltext_columnstudent_info,家庭住址,add execute sp_fulltext_tablestudent_info,activate12.填充全文目录,检查全文目录填充情况。 execute sp_fulltext_catalogFT_stu,start_full While (fulltextcatalogproperty(FT_stu,populateStatus)0) BEGIN waitfor delay0;0;30-如果全文目录正处于填充状态,则等待30s后再检测一次 END13.在stu

41、dent_info表中,分别使用CONTAINS和FREETEXT函数通过全文目录检索家庭住址包含25号的记录。 SELECT姓名,家庭住址 FROM student_info WHERE CONTAINS(家庭住址,25号)14.使用系统存储过程从studentsdb数据库中禁用全文检索。15.在studentsdb数据库中,以student_info表为基础,使用企业管理器建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。16.在studentsdb数据库中,使用Transact-SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课

42、程的课程编号,并利用视图查询学号为0003的学生情况。17.基于student_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的所有课程和成绩,如图1-9所示。学号姓名课程名称分数0001刘卫平大学计算机基础800001刘卫平C语言程序设计900001刘卫平SQL Server数据库870001刘卫平英语860001刘卫平高等数学78图1-9学号为0001的学生的视图信息18.分别使用企业管理器和Transact-SQL语句修改视图v_stu_c,使之显示学号、姓

43、名、每个学生所学课程数目。19.使用Transact-SQL语句ALTER VIEW修改视图v_stu_i,使其具有列名学号、姓名、性别。ALTER VIEW v_stu_i(学号,姓名,性别)AS SELECT学号,姓名,性别FROM student_info20.使用系统存储过程sp_rename将视图v_stu_i更名为v_stu_info。 sp_rename v_stu_i,v_stu_info21.利用视图v_stu_i为student_info表添加一行数据:学号为0015、姓名为陈婷、性别为女。22.利用视图v_stu_i删除学号为0015的学生记录。23.利用视图v_stu_

44、g修改姓名为刘卫平的学生的高等数学的分数为84。24使用Transact-SQL语句DROP VIEW删除视图v_stu_c和v_stu_g。四、实验思考1.是否可以通过视图v_stu_g修改grade表中学号列数据?2.比较通过试图和基表操作表中数据的异同。实验6数据完整性一、实验目的1.掌握企业管理器和Transact-SQL语句(CREATE RULE、DROP RULE)创建和删除规则的方法。2.掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_help、sp_helptext查询规则信息,sp_rename更名规则的方法。3.掌

45、握企业管理器和Transact-SQL语句(CREATE DEFAULT、DROP DEFAULT)创建和删除默认对象的方法。4.掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_help、sp_helptext查询规则信息,sp_rename更名规则的方法。5.掌握企业管理器和Transact-SQL语句(CREATE TABLE、AKTER TABLE)定义和删除约束的方法,并了解约束的类型。二、实验准备1.了解数据完整性概念。2.了解创建规则和删除规则的语法,了解绑定规则和解除绑定规则的语法。3.了解创建默认对象和删除默

46、认对象的语法,了解绑定和删除绑定默认对象的语法。4.了解约束的类型,创建约束和删除约束的语法。三、实验内容和步骤0.创建studentsdb数据库及其相应表,并录入数据; 或者 附加studentsdb数据库。启动查询分析器。1为sutdentsdb数据库创建一个规则,限制所输入的数据为7位0-9的数字。(1)复制student_info表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。完成以下代码实现该操作。SELECT*INTO stu_phone FROM student_infoALTER TABLE stu_phone ADD _电话号码_ CHAR(

47、7)NULLStu_phone表结构如图1-10所示。学号姓名性别出生日期家庭住址备注电话号码10001刘卫平男1980-10-01 00:00:00.000衡山市东风路78号NULLNULL20002张为民男1980-12-02 00:00:00.000东阳市八一北路25号NULLNULL图1-10 stu_phone表结构(2)创建一个规则phone_rule,限制所输入的数据为7位09的数字。实现该规则的代码为CREATE_RULE_phone_ruleASphone LIKE 0-9 0-9 0-9 0-9 0-9 0-9 0-9(3)使用系统存储过程sp_bindrule将phone

48、_rule规则绑定到stu_phone表的“电话号码”列上。实现该操作的代码为sp_bindrule_phone_rule_,stu_phone.电话号码(4)输入以下代码,进行一次插入操作:INSERT INTO stu_phone(学号,姓名,电话号码)VALUES(0009,王国强,1234yyy)产生以下出错信息:服务器:消息513,级别16,状态1,行1列的插入或更新与先前的CREATE RULE语句所强制的规则冲突。改语句已终止。冲突发生于数据库studentsdb,表stu_phone,列电话号码试分析:为什么会产生该出错信息?如果要实现插入操作,应修改INSERT INTO语句中的哪个值?phone_rule规则能否对其他操作(如DELETE)进行规则检查?2使用企业管理器实现实验内容1的每个操作。3创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。4使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。5删除stu_s_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论