上机SQl_Server 华科专用
- 格式:doc
- 大小:71.00 KB
- 文档页数:27
2022年华中科技大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)一、填空题1、DBMS的完整性控制机制应具备三个功能:定义功能,即______;检查功能,即______;最后若发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。
2、主题在数据仓库中由一系列实现。
一个主题之下表的划分可按______、______数据所属时间段进行划分,主题在数据仓库中可用______方式进行存储,如果主题存储量大,为了提高处理效率可采用______方式进行存储。
3、在设计局部E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计,所以各个局部E-R图之间难免有不一致的地方,称为冲突。
这些冲突主要有______、______和______3类。
4、使某个事务永远处于等待状态,得不到执行的现象称为______。
有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为______。
5、在RDBMS中,通过某种代价模型计算各种查询的执行代价。
在集中式数据库中,查询的执行开销主要包括______和______代价。
在多用户数据库中,还应考虑查询的内存代价开销。
6、设某数据库中有商品表(商品号,商品名,商品类别,价格)。
现要创建一个视图,该视图包含全部商品类别及每类商品的平均价格。
请补全如下语句: CREATE VIEW V1(商品类别,平均价格)AS SELECT商品类别,_____FROM商品表GROUP BY商品类别;7、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用____________语句,收回所授的权限使用____________语句。
8、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。
9、设在SQL Server 2000环境下,对“销售数据库”进行的备份操作序列如下图所示。
实验二4.create database studbSp_helpdb5. alter database studbmodify file(name=studb,size=5MB,maxsize=20MB,filegrowth=1MB)7. ALTER DATABASE studbMODIFY NAME=student_db8. DROP DATABASE student_db实验三5. USE students_dbGOCREATE TABLE grade(学号char(4),课程编号char(4),分数decimal(5))E studentdbGOINSERT gradeV ALUES(‘0004’,’0001’,’80’)9. USE studentdbGOALTER TABLE curriculumALTER COLUMN 课程编号char(4) NOT NULL 10. USE studentdbGOALTER TABLE gradeALTER COLUMN 分数real11. USE studentdbGOALTER TABLE student_infoALTER COLUMN 姓名。
不会12. USE studentdbGODELETE FROM gradeWHERE学号='0004'13. USE studentdbGOUPDATE grade SET 分数=90WHERE 学号='0003' and 课程编号='0005'14. USE studentdbGOALTER TABLE grade ADD 备注V ARCHAR(20) NULL15. USE studentdbGODROP TABLE grade实验四2(1)select 学号,姓名,出生日期from student_info(2)select 姓名,家庭住址from student_info where学号='0002'(3)select 学号,姓名from student_info where 性别='男'3(1)select 学号,分数from grade where分数between 80 and 90(2)select avg(分数) from grade where 课程编号='0003'(3)select 课程编号,count(课程编号) as 人数from grade group by 课程编号(4)select 姓名,出生日期from student_info order by出生日期desc(5)select 学号,姓名from student_info where 姓名like '张%'4(1)SELECT 姓名,出生日期FROM student_info WHERE性别=(SELECT 性别FROM student_info WHERE 姓名='刘卫平')(2)SELECT 学号,姓名,性别FROM student_info WHERE student_info.学号IN (SELECT 学号FROM grade WHERE 课程编号IN ('0002', '0005'))(3)SELECT 课程编号,分数FROM grade WHERE 学号='0001' AND 分数>ANY(SELECT 分数FROM grade WHERE 学号='0002')(4)SELECT 课程编号,分数FROM grade WHERE 学号='0001' AND 分数>ALL(SELECT 分数FROM grade WHERE 学号='0002')5(1)SELECT student_info.学号,姓名,分数FROM student_info,gradeWHERE student_info.学号=grade.学号AND 分数BETWEEN 80 AND 90(2)SELECT student_info.学号,姓名,分数FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号INNER JOIN curriculum ON 课程名称='C语言程序设计'(3)SELECT student_info.学号,student_info.姓名,curriculum.课程名称,grade.分数FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号and 性别='男'INNER JOIN curriculum on curriculum.课程编号=grade.课程编号(4)SELECT student_info.学号,max(grade.分数)FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号group by student_info.学号(5)SELECT student_info.学号,sum(grade.分数)FROM student_infoleft outer JOIN grade ON student_info.学号=grade.学号group by student_info.学号(6)第一步insert gradevalues ('0004','0006','76')第二步SELECT curriculum.课程编号,curriculum.课程名称,count(grade.学号) as 选修人数FROM graderight outer JOIN curriculum on curriculum.课程编号=grade.课程编号group by curriculum.课程编号,curriculum.课程名称6 unionselect 课程编号as u_编号,课程名称as u_名称from curriculum7delete from totalgradewhere 总成绩is null实验五1ALTER TABLE student_infoADDCONSTRAINT student_idxPRIMARY KEY CLUSTERED (学号)ALTER TABLE curriculumADDCONSTRAINT curriculum_idxPRIMARY KEY CLUSTERED (课程编号)2无3CREATE NONCLUSTERED INDEX grade_index ON grade(分数)4CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号)5sp_helpindex grade6无7sp_rename 'grade.grade_index','grade_ind', 'INDEX'8DROP INDEX grade.grade_indsp_helpindex grade9execute sp_fulltext_database 'enable'10execute sp_fulltext_catalog 'FT_stu','create'exec sp_fulltext_table'student_info','create','FT_stu','PK_student_info'11execute sp_fulltext_column 'student_info','家庭住址','add'execute sp_fulltext_table 'student_info','activate'12execute sp_fulltext_catalog 'FT_stu','start_full'13SELECT 姓名,家庭住址FROM student_infoWHERE CONTAINS(家庭住址,'25号')1415无16create view v_stu_casselect student_info.学号,student_info.姓名,grade.课程编号from student_info inner joingrade onstudent_info.学号=grade.学号select 学号,姓名,课程编号from v_stu_c where 学号='0003'17create view v_stu_casselect student_info.学号,student_info.姓名,curriculum.课程名称,grade.分数from student_infoinner join grade on student_info.学号=grade.学号inner join curriculum on grade.课程编号=curriculum.课程编号select 学号,姓名,课程名称,分数from v_stu_g where 学号='0001'18alter view v_stu_casselect grade.学号,姓名,count(grade.课程编号)as 课程数目from student_info inner join grade on student_info.学号=grade.学号group by grade.学号,姓名19ALTER VIEW v_stu_i(学号,姓名,性别)AS SELECT 学号,姓名,性别FROM student_info20sp_rename v_stu_i,v_stu_info21insert into v_stu_ivalues ('0015','陈婷','女')22delete from v_stu_gwhere 学号='0015'23update v_stu_gset 分数=84 where 姓名='刘卫平'and 课程名称='高等数学' 24drop view v_stu_c,v_stu_g实验六1(1) SELECT*INTO stu_phone FROM student_infoALTER TABLE stu_phone ADD 电话号码CHAR(7)NULL(2) CREATE rule phone_ruleAS@phone LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'(3) sp_bindrule phone_rule,'stu_phone.电话号码'(4)应修改括号中的第三个字符串为7位0~9数字3Create rule stusex_ruleAs @stusex in (‘男’,’女’)sp_bindrule stusex_rule,'stu_phone.性别'4Sp_help stusex_ruleSp_helptext stusex_ruleSp_rename stusex_rule,'stu_s_rule'5sp_unbindrule'stu_phone.性别'Drop rule stu_s_rule6(1) --创建日期型默认对象df_dateCREATE default df_dateAS '2006-4-12'GO----创建字符型默认对象df_charCREATE DEFAULT df_charas 'unknown'GO--创建货币型默认对象df_moneyCREATE DEFAULT df_moneyAS $100GO(2) CREATE TABLE stu_fee(学号char(10)NOT NULL,姓名char(8)NOT NULL,学费money,交费日期datetime,电话号码char(7))(3) Sp_bindefault df_money,'stu_fee.学费'GOSp_bindefault df_date,'stu_fee.交费日期'GOSp_bindefault df_char,'stu_fee.电话号码'GO(4) INSERT INTO stu_fee(学号,姓名)values('0001','刘卫平')INSERT INTO stu_fee(学号,姓名,学费)values('0001','张卫民',$120)INSERT INTO stu_fee(学号,姓名,学费,交费日期)V ALUES('0001','马东',$110,'2006-5-12')(5) sp_unbindefault 'stu_fee.电话号码'drop DEFAULT df_charsp_unbindefault 'stu_fee.学费'gosp_unbindefault 'stu_fee.交费日期'godrop DEFAULT df_date,df_moneygo8 ALTER TABLE student_info ADD 院系CHAR(7)Gocreate default stu_d_dfas '信息院'gosp_bindefault stu_d_df,'student_info.院系'gosp_unbindefault 'student_info.院系'godrop default stu_d_dfgo9(1)create table stu_con(学号char(4)constraint pk_sid primary key,姓名char(8) constraint uk_name unique,性别char(2) constraint df_sex default '男',出生日期datetime constraint ck_beday check (出生日期>'1988-1-1'),家庭住址varchar(50))(2) insert stu_convalues('0009','张晓东','','1989-4-6','')goinsert stu_convalues('0010','李梅','女','1983-8-5','')goinsert stu_convalues('0011','王强','','1988-9-10','')goinsert stu_convalues('0012','王强','','1989-6-3','')go所影响的行数为1 行)服务器: 消息547,级别16,状态1,行1INSERT 语句与COLUMN CHECK 约束'ck_beday' 冲突。
数据库上机实验报告
一、创建4个表的SQL语句
1、创建Department表
生成的Department并输入数据
2、创建Student表
生成的Student表并输入数据
3、创建Course表
生成的Course并输入数据
4、创建Course_record表
生成的Course_record表并输入数据
二、6个查询要求的SQL语句
1、多表连接操作
2、简单条件查询
3、复杂条件查询(较难)
4、聚合函数的使用
5、子查询的使用(较难)
课本上介绍了两种方式写子查询,这里使用两种方式,结果相同。
方法一
方法二
5、创建一个名为“更新查询”的更新查询对象
第一步更新
第二步显示要查询的字段
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求。
sql上机考试及答案一、单项选择题(每题2分,共20分)1. SQL Server中,以下哪个命令用于创建数据库?()A. CREATE TABLEB. CREATE DATABASEC. CREATE INDEXD. CREATE VIEW答案:B2. 在SQL中,以下哪个关键字用于指定分组条件?()A. WHEREB. GROUP BYC. HAVINGD. ORDER BY答案:B3. SQL Server中,以下哪个函数用于返回当前日期?()A. GETDATE()B. CURRENT_DATEC. NOW()D. SYSDATE()答案:A4. 在SQL中,以下哪个关键字用于指定排序条件?()A. WHEREB. GROUP BYC. HAVINGD. ORDER BY答案:D5. SQL Server中,以下哪个命令用于删除数据库?()A. DROP TABLEB. DROP DATABASEC. DROP INDEXD. DROP VIEW答案:B6. 在SQL中,以下哪个关键字用于指定子查询?()A. WHEREB. INC. EXISTSD. NOT EXISTS答案:B7. SQL Server中,以下哪个函数用于返回字符串长度?()A. LEN()B. LENGTH()C. DATALENGTH()D. CHARACTER_LENGTH()答案:A8. 在SQL中,以下哪个关键字用于指定唯一记录?()A. DISTINCTB. GROUP BYC. HAVINGD. ORDER BY答案:A9. SQL Server中,以下哪个命令用于修改数据库结构?()A. ALTER TABLEB. CREATE TABLEC. DROP TABLED. TRUNCATE TABLE答案:A10. 在SQL中,以下哪个关键字用于指定查询条件?()A. WHEREB. GROUP BYC. HAVINGD. ORDER BY答案:A二、多项选择题(每题3分,共15分)1. SQL Server中,以下哪些命令用于修改表结构?()A. ALTER TABLEB. CREATE TABLEC. DROP TABLED. TRUNCATE TABLE答案:A2. 在SQL中,以下哪些关键字用于指定查询条件?()A. WHEREB. GROUP BYC. HAVINGD. ORDER BY答案:A, C3. SQL Server中,以下哪些函数用于返回日期和时间?()A. GETDATE()B. CURRENT_DATEC. NOW()D. SYSDATE()答案:A, C4. 在SQL中,以下哪些关键字用于指定分组条件?()A. WHEREB. GROUP BYC. HAVINGD. ORDER BY答案:B, C5. SQL Server中,以下哪些命令用于删除表?()A. ALTER TABLEB. CREATE TABLEC. DROP TABLED. TRUNCATE TABLE答案:C三、填空题(每题3分,共30分)1. SQL Server中,创建数据库的命令是________。
一:创建一个book数据库,其主数据文件逻辑名book_data,物理文件名book_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB,文件的存放路径为“d:\sql\test”;数据库日志文件逻辑名称为book_log,物理文件名为book_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%,文件存放路径为“d:\sql\test”。
二:现有图书管理数据库的三个关系模式:图书(总编号,分类号,书名,作者,出版单位,单价)读者(借书证号,单位,姓名,性别,职称,地址)借阅(借书证号,总编号,借书日期)1.利用SQL Server 2005 SQL 语句创建图书管理库和图书、读者和借阅三个基本表的表结构;出版单位默认值设为高等教育出版社对借阅表‘借书证号’和’总编号’建立外键:2.利用SQL Server 2005 在三个表中分别插入以下所给元组:三:完成如下查询:用SQL 完成如下查询:1)找出姓李的读者姓名和所在单位。
2)查找高等教育出版社的所有图书及单价,结果按单价降序排序。
2)查找价格介于10 元和20 元之间的图书种类,结果按出版单位和单价升序排序。
5) 查找书名以计算机打头的所有图书和作者。
6)查找科学出版社图书的书价最高的书的信息。
7)查找所有借了书的读者的姓名、书名及所在单位。
8)利用SQL语言修改借阅表中借书证号112总编号是445501的借书时间为1997-4-19,然后删除借阅表中借书证号为118的记录。
四、视图具体要求:建立视图是所有借高等教育出版社的书的读者信息五:数据库复制、分离和附加数据库具体要求:在本地服务器上复制数据库book到e:\sql,文件名为book_new.六、备份恢复数据库。
具体要求:备份数据库book到备份设备bookdisk上,包括完全备份、差异备份、事务日志备份。
七:使用导入导出向导将Excel数据导入到SQL Server使用导入导出向导将SQL Server数据导出到TXT文件具体要求:需新建Excel文件、TXT文件八. 添加服务器成员角色具体要求:需新建用户账号(SQL Server和WINDOWS账号test,密码123456)九. 添加数据库成员角色具体要求:需新建用户账号(SQL Server和WINDOWS账号test) 十.T-SQL和存储过程具体要求:使用T-SQL语句进行程序设计来实现10的阶乘,将最终的结果打印输出。
SQL Server上机操作汇总一、数据库,数据表的创建,修改和删除。
1、创建‘学生管理’数据库,其包含的文件包括:(1)主数据文件‘学管_data1’,初始大小2MB,最大容量6MB,增量2MB。
(2)次数据文件‘学管_data2’,初始大小1MB,最大容量不受限制,增量1MB。
(3)日志文件‘学管_log1’,初始大小2MB,最大容量3MB,增量百分比20%。
2、修改‘学生管理’数据库:(1)添加一个新文件组‘Mygroup’。
(2)将‘学管_data1’的初始大小修改为4MB。
(3)添加一个数据文件‘学管_data3’,放在‘Mygroup’组中。
(4)添加一个日志文件‘学管_log2’,初始大小2MB,保存在D盘根目录下。
(5)删除‘Mygroup’组。
(6)删除‘学管_log2’。
(7)将‘学生管理’数据库的名称改为‘学管系统数据库’。
1)给学生表的籍贯字段添加默认值约束,默认值为“陕西”。
2)给学生表添加新字段‘手机号码’,并设置唯一值约束。
3)将学生表的‘手机号码’字段长度改为11。
4)删除学生表的‘手机号码’字段。
5、删除学生表,选课表。
6、删除‘学管系统数据库’。
二、查询操作1.利用主数据(.MDF)文件附加‟teachdb‟数据库。
2.在查询分析器中打开‟teachdb‟数据库。
3.使用T-SQL语句对teachdb数据库的数据进行简单查询操作:1)查询学生表的所有记录。
2)查询学号为‘1005’的学生信息。
3)查询籍贯是四川的学生的学号、姓名和籍贯,并在籍贯字段前添加一个常数列,显示常数“籍贯是:”。
4)查询教师表的职称字段有哪几种取值。
5)查询所有女生的姓名,籍贯,并在结果集中将籍贯字段名称替换成‘生源地’。
6)查询姓名第一个字符是‘张’且姓名共两个字符的学生信息。
7)查询姓‘李’,且名字最后一个字符是‘梅’或‘华’的学生的学号和姓名。
8)查询学生的籍贯字段不为空的记录。
SQL Server 数据库设计实验指导实验1:第一部分:SQL Server 管理工具和实用程序一、实验目的掌握SQL Server管理工具和实用程序的使用方法及步骤。
二、实验内容1.服务器管理器的功能及其使用方法。
2.企业管理器的功能及其使用方法。
3.查询分析器的功能及其使用方法。
三、实验报告1.分别扼要写出上机操作的步骤。
四、要求1.上机前首先预习相关知识。
第二部分:管理SQL Server数据库一、实验目的掌握用企业管理器和命令两种方法管理SQL Server数据库的方法及步骤。
二、实验内容1.用企业管理器创建一个数据库Market。
2.用命令创建数据库Market。
3.用系统存储过程sp_helpdb显示数据库信息。
4.用企业管理器修改、显示并删除数据库Market。
5.用命令修改、并删除数据库Market。
三、报告1.分别扼要写出使用企业管理器操作的步骤。
2.分别写出实现操作的命令。
四、要求1.上机前首先预习相关知识。
实验2:第一部分:SQL Server数据库表结构的操作一、实验目的掌握用企业管理器和命令两种方法创建SQL Server数据库表的方法及步骤。
二、实验内容:1.用企业管理器为Market数据库创建表Customers、Goods、Orders。
2.用命令为数据库Market创建表Customers、Goods、Orders。
3.用企业管理器修改、显示并删除表。
4.用命令修改、并删除表。
上述三个表的结构如下:三、报告1.分别扼要写出使用企业管理器操作的步骤。
2.分别写出实现操作的命令。
四、要求1.上机前首先预习相关知识。
第二部分:为SQL Server数据库表录入内容一、实验目的为SQL Server数据库表录入内容,以便后续操作。
二、实验内容:1.分别为表Customers、Goods、Orders设计和添加一定数量的内容。
每表不得少于20条记录。
注意:不得违背表间的外键约束。
实验一 SQL安装、配置及环境熟悉一、实验目的:了解SQL SERVER2000的安装、调试和配置了解SQL SERVER2000安装的软硬件条件熟悉SQL SERVER2000系统开发环境的构成及各部分的功能熟悉SQL SERVER2000系统开发环境及图形化操作掌握服务器的管理、注册和服务器组的管理二、实验原理:(一)安装环境的配置1.安装、运行SQL Server 2000的硬件需求(1)计算机Inter及其兼容计算机,Pentium 166Mz或者更高处理器或DEC Alpha和其兼容系统。
(2)内存(RAM)企业版最少64MB内存,其他版本最少需要32MB内存,建议使用更多的内存。
(3)硬盘空间完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。
2、安装、运行SQL Server 2000的软件需求• SQL Server 2000企业版必须运行于安装Windows NT Server Enterprise Edition 4.0或者Windows2000 Advanced Server以及更高版本的操作系统下。
• SQL Server 2000标准版必须运行于安装Windows NT Server Enterprise Edition 4.0、Windows NT Server 4.0、Windows 2000 Server以及更高版本的操作系统下。
• SQL Server 2000 个人版可在多种操作系统下运行,如可运行于Windows 9x,Windows NT 4.0或Windows 2000的服务器版或工作站版的操作系统下。
• SQL Server 2000 开发者版可运行于上述Windows 9x以外的所有操作系统下。
3、SQL Server 升级如果计算机中安装有旧的SQL Server版本,那么安装SQL Server 2000时需要做以下工作,以确保系统能退回到升级前的状态。
Sql server实验二4.create database studbSp_helpdb5. alter database studbmodify file(name=studb,size=5MB,maxsize=20MB,filegrowth=1MB)7. ALTER DATABASE studb MODIFY NAME=student_db 8. DROP DATABASE student_db 实验三5. USE students_dbGOCREATE TABLE grade(学号char(4),课程编号char(4),分数decimal(5))E studentdbGOINSERT gradeV ALUES(‘0004’,’0001’,’80’)9. USE studentdbGOALTER TABLE curriculumALTER COLUMN 课程编号char(4) NOT NULL10. USE studentdbGOALTER TABLE gradeALTER COLUMN 分数real11. USE studentdbGOALTER TABLE student_infoALTER COLUMN 姓名。
不会12. USE studentdbGODELETE FROM gradeWHERE学号='0004'13. USE studentdbGOUPDATE grade SET 分数=90WHERE 学号='0003' and 课程编号='0005'14. USE studentdbGOALTER TABLE grade ADD 备注V ARCHAR(20) NULL15. USE studentdbGODROP TABLE grade实验四2(1)select 学号,姓名,出生日期from student_info(2)select 姓名,家庭住址from student_info where学号='0002'(3)select 学号,姓名fromstudent_info where 性别='男'3(1)select 学号,分数from grade where分数between 80 and 90 (2)select avg(分数) from grade where 课程编号='0003'(3)select 课程编号,count(课程编号) as 人数from grade group by 课程编号(4)select 姓名,出生日期from student_info order by出生日期desc (5)select 学号,姓名from student_info where 姓名like '张%' 4(1)SELECT 姓名,出生日期FROM student_info WHERE性别=(SELECT 性别FROM student_info WHERE 姓名='刘卫平')(2)SELECT 学号,姓名,性别FROM student_info WHERE student_info.学号IN (SELECT 学号FROM gradeWHERE 课程编号IN ('0002', '0005'))(3)SELECT 课程编号,分数FROM grade WHERE 学号='0001' AND 分数>ANY(SELECT 分数FROM grade WHERE 学号='0002')(4)SELECT 课程编号,分数FROM grade WHERE 学号='0001' AND 分数>ALL(SELECT 分数FROM grade WHERE 学号='0002')5(1)SELECT student_info.学号,姓名,分数FROM student_info,grade WHERE student_info.学号=grade.学号AND 分数BETWEEN 80 AND 90(2)SELECT student_info.学号,姓名,分数FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号INNER JOIN curriculum ON 课程名称='C语言程序设计'(3)SELECT student_info.学号,student_info.姓名,curriculum.课程名称,grade.分数FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号and 性别='男'INNER JOIN curriculum on curriculum.课程编号=grade.课程编号(4)SELECT student_info.学号,max(grade.分数)FROM student_infoINNER JOIN grade ON student_info.学号=grade.学号group by student_info.学号(5)SELECT student_info.学号,sum(grade.分数)FROM student_infoleft outer JOIN grade ONstudent_info.学号=grade.学号group by student_info.学号(6)第一步insert gradevalues ('0004','0006','76')第二步SELECT curriculum.课程编号,curriculum.课程名称,count(grade.学号) as 选修人数FROM graderight outer JOIN curriculum on curriculum.课程编号=grade.课程编号group by curriculum.课程编号,curriculum.课程名称6 unionselect 课程编号as u_编号,课程名称as u_名称from curriculum 7delete from totalgradewhere 总成绩is null实验五1ALTER TABLE student_infoADDCONSTRAINT student_idxPRIMARY KEY CLUSTERED (学号) ALTER TABLE curriculumADDCONSTRAINT curriculum_idx PRIMARY KEY CLUSTERED (课程编号)2无3CREATE NONCLUSTERED INDEX grade_index ON grade(分数)4CREATE UNIQUE INDEX grade_id_c_ind ON grade(学号,课程编号) 5sp_helpindex grade无7sp_rename 'grade.grade_index','grade_ind', 'INDEX'8DROP INDEX grade.grade_indsp_helpindex grade9execute sp_fulltext_database 'enable'10execute sp_fulltext_catalog 'FT_stu','create'execsp_fulltext_table'student_info','create','FT_ stu','PK_student_info'11execute sp_fulltext_column 'student_info','家庭住址','add'execute sp_fulltext_table 'student_info','activate'execute sp_fulltext_catalog 'FT_stu','start_full'13SELECT 姓名,家庭住址FROM student_infoWHERE CONTAINS(家庭住址,'25号')1415无16create view v_stu_casselect student_info.学号,student_info.姓名,grade.课程编号from student_info inner joingrade onstudent_info.学号=grade.学号select 学号,姓名,课程编号from v_stu_c where 学号='0003'17create view v_stu_casselect student_info.学号,student_info.姓名,curriculum.课程名称,grade.分数from student_infoinner join grade on student_info.学号=grade.学号inner join curriculum on grade.课程编号=curriculum.课程编号select 学号,姓名,课程名称,分数from v_stu_g where 学号='0001'18alter view v_stu_casselect grade.学号,姓名,count(grade.课程编号)as 课程数目from student_info inner join grade on student_info.学号=grade.学号groupby grade.学号,姓名19ALTER VIEW v_stu_i(学号,姓名,性别) AS SELECT 学号,姓名,性别FROM student_info20sp_rename v_stu_i,v_stu_info21insert into v_stu_ivalues ('0015','陈婷','女')22delete from v_stu_gwhere 学号='0015'23update v_stu_gset 分数=84 where 姓名='刘卫平'and 课程名称='高等数学'24drop view v_stu_c,v_stu_g实验六1(1) SELECT*INTO stu_phone FROM student_infoALTER TABLE stu_phone ADD 电话号码CHAR(7)NULL(2) CREATE rule phone_ruleAS@phone LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'(3) sp_bindrule phone_rule,'stu_phone.电话号码'(4)应修改括号中的第三个字符串为7位0~9数字3Create rule stusex_ruleAs @stusex in (‘男’,’女’)sp_bindrule stusex_rule,'stu_phone.性别' 4Sp_help stusex_ruleSp_helptext stusex_ruleSp_rename stusex_rule,'stu_s_rule' 5sp_unbindrule'stu_phone.性别' Drop rule stu_s_rule6(1) --创建日期型默认对象df_date CREATE default df_dateAS '2006-4-12'GO----创建字符型默认对象df_char CREATE DEFAULT df_charas 'unknown'GO--创建货币型默认对象df_money CREATE DEFAULT df_money AS $100GO(2) CREATE TABLE stu_fee(学号char(10)NOT NULL,姓名char(8)NOT NULL,学费money,交费日期datetime,电话号码char(7))(3) Sp_bindefault df_money,'stu_fee.学费' GOSp_bindefault df_date,'stu_fee.交费日期' GOSp_bindefault df_char,'stu_fee.电话号码' GO(4) INSERT INTO stu_fee(学号,姓名) values('0001','刘卫平')INSERT INTO stu_fee(学号,姓名,学费) values('0001','张卫民',$120)INSERT INTO stu_fee(学号,姓名,学费,交费日期)V ALUES('0001','马东',$110,'2006-5-12') (5) sp_unbindefault 'stu_fee.电话号码'drop DEFAULT df_charsp_unbindefault 'stu_fee.学费'gosp_unbindefault 'stu_fee.交费日期'godrop DEFAULT df_date,df_moneygo8 ALTER TABLE student_info ADD 院系CHAR(7)Gocreate default stu_d_dfas '信息院'gosp_bindefault stu_d_df,'student_info.院系' gosp_unbindefault 'student_info.院系'godrop default stu_d_dfgo9(1)create table stu_con(学号char(4)constraint pk_sid primary key,姓名char(8) constraint uk_name unique, 性别char(2) constraint df_sex default '男',出生日期datetime constraint ck_beday check (出生日期>'1988-1-1'),家庭住址varchar(50))(2) insert stu_convalues('0009','张晓东','','1989-4-6','')goinsert stu_convalues('0010','李梅','女','1983-8-5','')goinsert stu_convalues('0011','王强','','1988-9-10','')goinsert stu_convalues('0012','王强','','1989-6-3','')go所影响的行数为 1 行)服务器: 消息547,级别16,状态1,行1INSERT 语句与COLUMN CHECK 约束'ck_beday' 冲突。