SQL_Server_SQL实验与练习题参考答案

合集下载

SQL Server基础查询练习(附答案)

SQL Server基础查询练习(附答案)

--创建数据库USE[master]GOCREATEDATABASE[test]ONPRIMARY(NAME=N'test',FILENAME=N'D:\SQL\DataBase\test.mdf',SIZE=3072KB,MAXSIZE=UNLIMITED,FILEGROWTH= 1024KB)LOG ON(NAME=N'test_log',FILENAME=N'D:\SQL\DataBase\test_log.ldf',SIZE= 1024KB,MAXSIZE= 2048GB,FILEGROWTH= 10%)GOALTERDATABASE[test]SETCOMPATIBILITY_LEVEL= 90GOIF (1 =FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))beginEXEC[test].[dbo].[sp_fulltext_database]@action='enable'endGOALTERDATABASE[test]SETANSI_NULL_DEFAULTOFFGOALTERDATABASE[test]SETANSI_NULLSOFFGOALTERDATABASE[test]SETANSI_PADDINGOFFGOALTERDATABASE[test]SETANSI_WARNINGSOFFGOALTERDATABASE[test]SETARITHABORTOFFGOALTERDATABASE[test]SETAUTO_CLOSEOFFGOALTERDATABASE[test]SETAUTO_CREATE_STATISTICSONGOALTERDATABASE[test]SETAUTO_SHRINKOFFGOALTERDATABASE[test]SETAUTO_UPDATE_STATISTICSONGOALTERDATABASE[test]SETCURSOR_CLOSE_ON_COMMITOFFGOALTERDATABASE[test]SETCURSOR_DEFAULTGLOBALGOALTERDATABASE[test]SETCONCAT_NULL_YIELDS_NULLOFFGOALTERDATABASE[test]SETNUMERIC_ROUNDABORTOFFGOALTERDATABASE[test]SETQUOTED_IDENTIFIEROFFGOALTERDATABASE[test]SETRECURSIVE_TRIGGERSOFFGOALTERDATABASE[test]SETDISABLE_BROKERGOALTERDATABASE[test]SETAUTO_UPDATE_STATISTICS_ASYNCOFF GOALTERDATABASE[test]SETDATE_CORRELATION_OPTIMIZATIONOFF GOALTERDATABASE[test]SETTRUSTWORTHYOFFGOALTERDATABASE[test]SETALLOW_SNAPSHOT_ISOLATIONOFFGOALTERDATABASE[test]SETPARAMETERIZATIONSIMPLEGOALTERDATABASE[test]SETREAD_COMMITTED_SNAPSHOTOFFGOALTERDATABASE[test]SETREAD_WRITEALTERDATABASE[test]SETRECOVERYSIMPLEGOALTERDATABASE[test]SETMULTI_USERGOALTERDATABASE[test]SETPAGE_VERIFY CHECKSUMGOALTERDATABASE[test]SETDB_CHAININGOFFGO--创建表USE testCREATETABLE emp(EMPNO NUMERIC(5, 0)NOTNULL,ENAME NVARCHAR(10),JOB NVARCHAR(9),MGR NUMERIC(5, 0),HIREDATE DATETIME,SAL NUMERIC(7, 2),COMM NUMERIC(7, 2),DEPTNO NUMERIC(2, 0),)CREATETABLE dept(DEPTNO NUMERIC(2),DNAME NVARCHAR(14),LOC NVARCHAR(13),)--插入数据INSERTINTO EMP VALUES(7369,'SMITH','CLERK', 7902,'2000-12-17', 800,NULL, 20)。

SQl_Server上机实验_答案_华中科技大学

SQl_Server上机实验_答案_华中科技大学

实验二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' 冲突。

数据库原理与应用教程—SQL_Server课后习题答案

数据库原理与应用教程—SQL_Server课后习题答案

数据库原理与应用教程―SQL Server习题解答1.数据库的发展历史分哪几个阶段?各有什么特点?答:数据库技术经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。

1)人工管理阶段这个时期数据管理的特点是:数据的独立性差,数据不能被长期保存,数据的冗余度大等给数据的维护带来许多问题。

2)文件系统阶段程序与数据有了一定的独立性,程序和数据分开存储,然而依旧存在数据的冗余度大及数据的不一致性等缺点。

3)数据库系统阶段数据库系统的特点如下:(1)数据结构化(2)较高的数据共享性(3)较高的数据独立性(4)数据由DBMS统一管理和控制…2.简述数据、数据库、数据库管理系统、数据库应用系统的概念。

答:数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。

数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。

数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。

它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。

凡使用数据库技术管理其数据的系统都称为数据库应用系统。

3.简述数据库管理系统的功能。

答:数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5个方面。

(1) 数据定义和操纵功能(2) 数据库运行控制功能(3) 数据库的组织、存储和管理(4) 建立和维护数据库(5) 数据通信接口4.简述数据库的三级模式和两级映像。

答:为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化了应用程序的编制和程序员的负担,增强系统的可靠性。

通常DBMS将数据库的体系结构分为三级模式:外模式、模式和内模式。

模式也称概念模式或逻辑模式,是对数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

(SQL-Server)考试试题及答案

(SQL-Server)考试试题及答案

2013年(下)全国信息技术水平考试数据库应用系统设计技术水平证书(SQL Server)考试试卷第一大题:单选题(30 分)1. (1分)数据模型的三要素不包括()。

(A) 数据结构(B) 数据操作(C) 数据完整性约束(D) 数据恢复2. (1分)数据的存储结构与数据逻辑结构之间的独立性称为数据的()。

(A) 结构独立性(B) 物理独立性(C) 逻辑独立性(D) 分布独立性3. (1分) 如果对于实体集A中的每一个实体,实体集B中可有多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中也可有多个实体与之联系。

则称实体集A与B具有()。

(A) 1:1联系(B) 1:n联系(C) n:m联系(D) 多种联系4. (1分)当对关系R和S使用自然联接时,一般要求R和S至少含有一个共同的()。

(A) 元组(B) 关键字(C) 记录(D) 属性5. (1分)若关系模式R(A,B,C,D,E)上的函数依赖集F={AB->C,A->D,A->E},为了满足BCNF,可以将R分解为()。

(A) R1(A,B,C,D) R2(A,E)(B) R1(A,B,C) R2(A,D,E)(C) R1(A,B,C) R2(D,E)(D) R1(A,B) R2(A,C,D,E)6. (1分) SQL语言查询一次的结果是一个()。

(A) 元组(B) 表(C) 属性(D) 数据库7. (1分)在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,则称函数依赖X→Y为()。

(A) 平凡函数依赖(B) 部分函数依赖(C) 完全函数依赖(D) 传递函数依赖8 . (1分)在Transact-SQL中,下列命令能让程序完全跳出循环的是()。

(A) CASE(B) WAIT(C) BREAK (D) CONTINU E9 . (1分) 在Transact-SQL中,下列选项不属于数值型数据类型的是()。

SQLServer单科测试题(带答案)

SQLServer单科测试题(带答案)

--------------------------------------装--------------------------------------订------------------------------线----------------------------------------选择题(每题2分,共计100分)1.在SQL Server中,要防止大于100的数被保存到int类型的列,可以使用()。

A.主键约束B.限制约束C.外键约束D.检查约束2.在SQL Server中,下面关于数据完整性的描述正确的是()。

[选两项]A.如果数据库中没有重复的数据,数据就是完整的B.维护数据完整性就是保证数据的准确性C.数据库中数据越详细越符合数据完整性D.维护数据完整性可以保证数据的一致性,避免出现没有意义的数据3.在SQL Server 2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。

A.masterB.modelC.msdbD.pubs4.在SQL Sever 2005中,假设表 users 包含主键列 id ,那么执行”update users set id=20 whereid=30”,执行的结果可能有()。

A.如果表中含有id为30的记录,但不包含id为20的记录,则更新失败B.执行出错,因为主键列不可以被更新C.如果表中同时含有id 为20和id 为30的记录,则更新失败。

D.如果表中不包含id为20 和id 为30 的记录,则更新一行记录5.在SQL Server 2005数据库中,使用update语句更新数据库表中的数据,以下说法正确的是()。

A.每次只能更新一行数据B.每次可更新多行数据C.如果没有数据项被更新,将提示错误消息D.更新数据时,必须带有WHERE条件句子6.关于数据完整性,以下说法正确的是()。

[选两项]A.引用完整性通过主键和外键之间的引用关系实现B.引用完整性通过限制数据类型、检查约束等实现C.数据完整性是通过数据操纵者自身对数据的控制来实现的D.如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备完整性7.关于标识列,以下说法正确的是()。

SQL试题(附答案)

SQL试题(附答案)

《SQL 数据库管理与开发教程与实训》试题<A 卷>一、单项选择题<每小题1分,共10分>1.下列四项中,不属于数据库特点的是〔 C 〕.A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.下列四项中,不属于SQL2000实用程序的是〔 D 〕.A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server 安装程序创建4个系统数据库,下列哪个不是〔 C 〕系统数据库.4.〔 A 〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A .DBMSB .DBC .DBSD .DBA 5.在SQL 中,建立表用的命令是 < B >. A.CREATE SCHEMAB.CREATE TABLE C.CREATE VIEWD.CREATE INDEX6.SQL 语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且< A >.A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.下列四项中,不正确的提法是< C >.A.SQL 语言是关系数据库的国际标准语言B.SQL 语言具有数据定义、查询、操纵和控制功能C.SQL 语言可以自动实现关系数据库的规范化D.SQL 语言称为结构查询语言8.在MS SQL Server 中,用来显示数据库信息的系统存储过程是< D >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9.SQL 语言中,删除表中数据的命令是< A >.A. DELETEB. DROPC. CLEARD. REMOVE10.SQL 的视图是从〔 C 〕中导出的.A. 基本表B. 视图C. 基本表或视图D. 数据库三、填空题<每空1分,共20分>1.数据库系统具有数据的_外模式___、_模式________和内模式三级模式结构.2.SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.3.语句 select ascii<'D'>, char<67> 的执行结果是:_______68__和____C_____.4.语句 select lower<'Beautiful'> , rtrim<'我心中的太阳 '> 的执行结果是:_____beautiful_______和__我心中的太阳________.5.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.6.关系运算主要有________、________和连接.7.完整性约束包括______完整性、______完整性、参照完整性和用户定义完整性.8.在SQL Server 2000中,数据库对象包括__表____、_视图_____、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等.9.语句 select day<'2004-4-6'>, len<'我们快放假了.'> 的执行结果是:_6________和________7_.10.语句 select round<13.4321,2>, round<13.4567,3>的执行结果是:_13.4300________和_______13.4570__.五、设计题<共50分>现有关系数据库如下:数据库名:我班同学数据库同学表<学号 char<6>,##,性别,年龄,民族,##号,宿舍号>宿舍表<宿舍号 char<6>,宿舍 >用SQL语言实现下列功能的sql语句代码:2.创建数据表[宿舍表]代码<3分>;宿舍表<宿舍号 char<6>,宿舍 >要求使用:主键<宿舍号>、宿舍:以633开头的7位同学表<学号 char<6>,##,性别,年龄,民族,##号,宿舍号>要求使用:主键<学号>、外键<宿舍号>、默认<民族>、非空<民族,##,年龄>、唯一<##号>、检查<性别>4.将下列宿舍信息添加到宿舍表的代码<8分>宿舍号宿舍101 6331157102 6331777修改宿舍号为101的宿舍:6331158删除宿舍号为102的宿舍信息5.创建视图[同学表视图]代码<5分>;同学表视图<学号, ##, 性别, 年龄, 民族, ##号, 宿舍号, 宿舍 >7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄.<5分>8.创建带参数的存储过程[某宿舍同学]:##, 性别, 宿舍执行此过程,查询'101'宿舍情况 <8分>9.设置一SQL身份验证的用户账户:登录名:U班主任,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程.请写出账户、权限设置的T_SQL脚本.<9分>一、三、《SQL数据库管理与开发教程与实训》试题<B卷>马建鹏老师一、单项选择题<每小题1分,共10分>1.〔〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A.DBMSB.DBC.DBSD.DBA2.下列四项中,不属于SQL2000实用程序的是〔〕.A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server安装程序创建4个系统数据库,下列哪个不是〔〕系统数据库.A. masterB. modelC. pubD. msdb4.下列哪个不是sql 数据库文件的后缀.A..mdfB..ldfC..tifD..ndf5.数据定义语言的缩写词为 < >.6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且< >.A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.SQL的视图是从〔〕中导出的.A. 基本表B. 视图C. 基本表或视图D. 数据库8.在SQL语言中,建立存储过程的命令是<>A、CREATE PROCEDUREB、CREATE RULEC、CREATE DURED、CREATE FILE9.SQL语言中,删除表中数据的命令是< >.A. DELETEB. DROPC. CLEARD. REMOVE10.在MS SQL Server中,用来显示数据库信息的系统存储过程是< >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb三、填空题<每空1分,共20分>1.SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.2.语句 select ascii<'D'>, char<67> 的执行结果是:_________和_________.3.语句 select lower<'Beautiful'> , rtrim<'我心中的太阳 '> 的执行结果是:____________和___________.4.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.5.关系运算主要有________、________和连接.6.完整性约束包括_______完整性、______完整性、参照完整性和用户定义完整性.7.T-SQL 语言中,有_________运算、字符串连接运算、比较运算和_________运算.8.语句 select day<'2004-4-6'>, len<'我们快放假了.'> 的执行结果是:_________和_________.9.语句 select floor<17.4>, floor<-214.2>, round<13.4382,2>, round<-18.4562,3>的执行结果是: _________、_________、_________和_________.五、设计题<共45分>现有关系数据库如下:数据库名:学生成绩数据库学生信息表<学号 char<6>,##,性别,民族,##号>课程信息表<课号 char<6>,名称>成绩信息表<ID,学号,课号,分数>用SQL语言实现下列功能的sql语句代码.1.创建数据库[学生成绩数据库]代码<2分>.2.创建数据表[课程信息表]代码;〔2分〕课程信息表<课号 char<6>,名称>要求使用:主键<课号>、非空<名称>3.创建数据表[学生信息表]代码;〔4分〕学生信息表<学号 char<6>,##,性别,民族,##号>要求使用:主键<学号>、默认<民族>、非空<民族,##>、唯一<##号>、检查<性别>4.创建数据表[成绩信息表];〔5分〕成绩信息表<ID,学号,课号,分数>要求使用:外键<学号,课号>、检查<分数>,自动编号<ID>5.将下列课程信息添加到课程信息表的代码〔8分〕课号名称100101 西班牙语100102 大学英语修改课号为100102的课程名称:专业英语删除课号为100101的课程信息6.创建视图[成绩信息表视图]的代码;〔5分〕成绩信息表视图<学号,##,课号,课程名称,分数>7.从学生信息表中查询姓刘的女同学的情况:##、性别、民族.〔2分8.查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、##.〔4分〕9.创建带参数的存储过程[某门课程高低均分]、执行该过程的代码〔7分〕存储过程功能:查询某门课程的最高分、最低分、平均分;执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;10设置一SQL身份验证的用户账户:登录名:U院长,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程.请写出账户、权限设置的T_SQL脚本.<6分>一、五、《SQL数据库管理与开发教程与实训》试题<C卷>杜兆将老师一、单项选择题<每小题1分,共10分>1.下列四项中,不属于数据库特点的是〔〕.A.数据共享B.数据完整性C. 数据冗余很高D.数据独立性高2. 目前〔〕数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统.A.关系B.面向对象C.分布3. 数据库设计中的概念结构设计的主要工具是〔〕.A.数据模型B.E—R模型 C.新奥尔良模型D.概念模型4. 〔〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A.DBMSB.DBC.DBSD.DBA5. 在SQL中,建立视图用的命令是 < >.A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX6. SQL语言中,条件"年龄BETWEEN 20 AND 30"表示年龄在20至30之间,且< >.A.包括20岁和30岁B.不包括20岁和30岁C.包括20岁但不包括30岁D.包括30岁但不包括20岁8. 在MS SQL Server中,用来显示数据库信息的系统存储过程是< >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9. SQL语言中,删除一个表的命令是< >.A. DELETEB. DROPC. CLEARD. REMOVE10.SQL的视图是从〔〕中导出的.A.基本表B. 视图 C. 基本表或视图D. 数据库三、填空题<每空1分,共20分>1. 数据库系统具有数据的___________、_________和_________三级模式结构.2. SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.3. 语句 select ascii<'C'>, char<68>, len<'你是BigTiger '> 的执行结果是:_________、_________和_________.4. 语句select upper<'beautiful'> ,ltrim <'我心中的太阳'> 的执行结果是:____________和___________.5. 关系运算主要有________、________、________.6. 选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.7. 索引的类型主要有__和_ __.8. 在SQL Server 2000中,数据库对象包括数据表、______、______、触发器、规则、默认和用户自定义的数据类型等.五、设计题<共50分>现有关系数据库如下:数据库名:学生成绩数据库学生表<学号 char<6>,##,性别,民族,##号>课程表<课号 char<6>,名称>成绩表<ID,学号,课号,分数>用SQL语言实现下列功能的sql语句代码:1.创建数据库[学生成绩数据库]代码<2分>;create database [学生成绩数据库]gouse [学生成绩数据库]go2.创建[课程表]代码<2分>;课程表<课号 char<6>,名称>CREATE TABLE 课程表〔course CHAR<6>,PRIMARY KEY,Name CHAR<6>,NOT NULL,〕;要求使用:主键<课号>、非空<名称>3.创建[学生表]代码<6分>;学生表<学号 char<6>,##,性别,民族,##号>要求使用:主键<学号>、默认<民族>、非空<民族,##>、唯一<##号>、检查<性别>4.创建[成绩表]代码<4分>;成绩表<ID,学号,课号,分数>要求使用:主键<课号>、外键<成绩表.学号,成绩表.课号>、检查<分数>,自动编号<ID>5.将下列课程信息添加到课程表的代码<8分>课号课程名称100001 大学语文100002 大学英语100003 西班牙语修改课号为100002的课程名称:实用英语删除课号为100003的课程信息6.写出创建:成绩表视图<学号,##,课号,课程名称,分数>的代码;<4分>7.写出创建:某门课程成绩内嵌表值函数以与检索的代码;<6分>检索:所有修实用英语这门学生的成绩;8.写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以与执行的代码;<6分>执行:所有修实用英语这门学生的最高分、最低分、平均分;9.检索姓李的女同学的情况:##、性别、民族.<2分>10.检索有一门或一门以上课程成绩大于等于90分的所有学生的信息,包括学号、##.<4分>11.设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据.请写出账户、权限设置的T_SQL脚本.<6分>《SQL数据库管理与开发教程与实训》试题<C卷>参考答案一、1.C 2.A 3. B 4.A 5.C 6.A 7. 8.D 9.B 10.C二、1. N 2.N 3.Y 4.N 5.N 6.N 7. Y 8.N 9.N 10.Y三、1. 外模式、模式、内模式.2. ,3. 67, D, 124. BEAUTIFAL,我心中的太阳5. 选择、投影、连接.6. 水平, 垂直7. 聚簇索引非聚簇索引8. 视图、存储过程五、设计题1.create database [学生成绩数据库]gouse [学生成绩数据库]go2. create table 学生表<[学号] char<6> primary key,[##] nchar<4> not null,[性别] nchar<1> check<[性别] in <'男', '女'>>,[民族] nchar<8> default '汉族' not null,[##号] char<18> unique>3. create table 课程表<[课号] char<6> primary key,[名称] char<40> not null>4. create table 成绩表<ID integer IDENTITY<1, 1>,[学号] char<6> references 学生表<学号>,[课号] char<6> references 课程表<课号>,[分数] integer check<[分数] between 0 and 100>>5.insert 课程表 values<'100001', '大学语文'>insert 课程表 values<'100002', '大学英语'>insert 课程表 values<'100003', '西班牙语'>update课程表 set 名称='实用英语' where 课号='100002'delete课程表 where 课号='100003'6. create view [成绩表视图] asselect 成绩表.学号,##,成绩表.课号,名称课程名称,分数from 成绩表,学生表,课程表where 成绩表.学号=学生表.学号and 成绩表.课号=课程表.课号create view [成绩表视图] asselect 成绩表.学号,##,成绩表.课号,名称课程名称,分数from 成绩表 join 学生表 on 成绩表.学号=学生表.学号join 课程表 on 成绩表.课号=课程表.课号7. create function [某门课程成绩]<课程名 varchar<40>>returns table asreturn <select 学号,##,课程名称,分数 from 成绩表视图where 课程名称=课程名>create function [某门课程成绩]<课程名 varchar<40>>returns table asreturn <select * from 成绩表视图where 课程名称=课程名>select * from [某门课程成绩]<'实用英语'>8.create procedure [某门课程高低均分]课程名 varchar<40> asselect 课程名称, 最高分=max<分数>、最低分=min<分数>、平均分=avg<分数> from 成绩表视图where 课程名称 = 课程名execute [某门课程高低均分] '实用英语'9.select ##, 性别, 民族 from 学生表 where ## like '李%' and 性别='女'10. select 学号, ## from 学生表 where学号 in <select distinct 学号 from成绩表 where分数>=90>11.use [学生成绩数据库]exec sp_addlogin 'U领导', NULL, '学生成绩数据库', '简体中文'exec sp_password NULL, '888', 'U领导'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'use [学生成绩数据库]exec sp_addlogin 'U领导', '888', '学生成绩数据库'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'《SQL数据库管理与开发教程与实训》试题<D卷>刘占文老师一、单项选择题<每小题1分,共10分>1.数据库应用系统是由数据库、数据库管理系统〔与其开发工具〕、应用系统、〔〕和用户构成.A.DBMSB.DBC.DBSD.DBA2.数据库管理系统的英文缩写是〔〕.A.DBMSB.DBSC.DBAD.DB3.在关系运算中,选取符合条件的元组是〔〕运算.A.除法B.投影C.连接D.选择4.数据库设计中的逻辑结构设计的任务是把〔〕阶段产生的概念数据库模式变换为逻辑结构的数据库模式.A.需求分析B.物理设计C.逻辑结构设计D.概念结构设计5.一个规范化的关系至少应当满足〔〕的要求.A.一范式B.二范式C.三范式D.四范式6.在实际数据库设计中,"学号"通常作为〔〕存在.A.数据结构B.数据存储C.数据项目D.处理过程7.SQL Server 2000中删除表中记录的命令是〔〕.A.DELETEB.SELECTC.UPDATED.DROP8.运行命令SELECT ASCII〔‘Alklk’〕的结果是〔〕.A.48B.32C.90D.659.在SQL中,建立视图用的命令是 < >.A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX10.在MS SQL Server中,用来显示数据库信息的系统存储过程是< >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb三、填空题<每空1分,共20分>1.数据库三个要素是__________、__________和_____________.2. 语句 select year<'1931-9-18'> 的执行结果是____________.3.__________是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围.4.__________是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行.5.事务<Transaction>可以看成是由对数据库的若干操作组成的一个单元,这些操作要么______,要么________<如果在操作执行过程中不能完成其中任一操作>.6. SQL Server 2000 采用的身份验证模式有________________模式和________模式.7.用户访问SQL Server数据库时,经过了两个_______验证和________验证安全验证阶段.8.SQL Server 2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份.9.SQL Server代理主要由______、______和警报来组成.10.SQL Server复制把服务器分为______服务器、______服务器和订阅服务器三种. 五、设计题<1—6题每空2分,第7题10分,共40分>1.计算1+2+3+……+100的和,并使用PRINT显示计算结果.DECLARE I int,sum int,csum char<10>SELECT I=1,sum=0WHILE I<=________BEGINSELECT sum= __________SELECT I=I+1ENDSELECT csum=convert<char<10>,sum>__________ ’1+2+3+……+100=’+ csum2.使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空.CREATE ________ CLASS<CLASSNO ______<8> NOT NULL,DEPARTNO CHAR <2> NOT NULL,CLASSNAME CHAR <____> NOT NULL〕3.声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集.USE XKDECLARE COUNO VARCHAR<3>,COUNAME VARCHAR<20>_________________________FORSELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO_________________________FETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAMEWHILE FETCH_STATUS=0BEGINPRINT ’课程号:’+ COUNO +’课程名称:’+ CouNameFETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAMEEND_________________________DEALLOCATE CRSCOURSSE4.使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看"STUDENT"表中"00电子商务"班的学生信息.USE XKCREATE ____________ V_STUDENTASSELECT *FROM ____________WHERE CLASSNO=’20000001’5.使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回"STUDEND"表中所有班级代码为200000001的记录.USE XKCREATE ____________ P_STUDENTASSELECT *____________ STUDENTWHERE CLASSNO=’20000001’6.创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条"记录已修改"的消息.USE XK_________________ON STUDENT_________________ASPRINT ‘记录已修改’7.定义事务向[学生]数据库的[选课表]中插入学号=‘20030021’的多条记录,并检验若报名课程超过4门,则回滚事务,即报名无效,否则成功提交.选课表<学号,课号,报名号>假设要插入的记录为以下三条:‘20030021’,‘01’,1 ‘20030021’,‘02’,2 ‘20030021’,‘03’,3根据以上要求编写程序,并指出本题定义的事务是否成功提交.《SQL数据库管理与开发教程与实训》试题<D卷>参考答案一、单项选择题1.D 2.A 3.D 4.D 5.C 6.C 7.D 8.D 9.C 10.D二、判断题1.N 2.N 3.N 4.Y 5.Y 6.N 7.Y 8.N 9.Y 10.N三、填空题1.数据结构、数据操作、完整性约束2.19313.域完整性4.触发器5.都完成、都取消6.Windows身份验证、混合7.身份、权限8.完整、差异、事务日志、文件和文件组9.操作员、作业10.发布、分发五、设计题1.100 sum+i print2.table char 203.Declare crscourse cursoropen crscourseclose crscourse4.viewstudent5.procedurefrom6.Alter trigger testfor update7.Use 学生Begin transactionInsert 选课表<学号,课程号,报名号> values<‘20030021’,‘01’,1>Insert 选课表<学号,课程号,报名号> values<‘20030021’,‘02’,2>Insert 选课表<学号,课程号,报名号> values<‘20030021’,‘03’,3>Declare num intSet num=<select count<*> from 选课表 where 学号=‘20030021’>If num>4beginRollback transactionPrint ‘超过报名门数!’endElseBeginmit transactionPrint ‘报名成功!’endgo本题定义的事务成功提交.《SQL数据库管理与开发教程与实训》试题<E卷>刘占文老师三、填空题<每空1分,共20分>1.SQL语言主要由组成.2.SQLServer2000采用的身份验证模式有Windows身份验证模式和_________模式.3.语句 SELECT<7+3>*4-17/<4-<8-6>>+99%4的执行结果是_____________.4. ________是由一个或多个数据表〔基本表〕或视图导出的虚拟表.5._____________用于保证数据库中数据表的每一个特定实体的记录都是惟一的.6.索引的类型有______________和非聚集索引.7._________是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句.8.触发器定义在一个表中,当在表中执行________、________或delete操作时被触发自动执行.9.事务的ACID属性是指________性、________性、_______性和_______性.10.数据库管理系统的安全性通常包括两个方面,一是指数据________的安全性,二是指数据_______的安全性.11.SQL Server代理主要由________、操作员和________来组成.12.SQL Server复制有快照复制、________复制和________复制3种类型.五、设计题<每小题5分,共40分>现有关系数据库如下:数据库名:学生成绩数据库用SQL语言实现下列功能的sql语句代码:1.创建数据库[学生成绩数据库]代码<2分>;2.创建[课程表]代码<2分>;课程表<课号 char<6>,名称>要求使用:主键<课号>、非空<名称>3.创建[学生表]代码<2分>;学生表<学号 char<6>,##,性别,民族>要求使用:主键<学号>、默认<民族>、非空<民族,##>、检查<性别>4.创建[成绩表]代码<2分>;成绩表<学号,课程号,分数>要求使用:外键<成绩表.学号,成绩表.课程号>、检查<分数>5.将下列课程信息添加到课程表中课号课程名称100001 大学语文100002 大学英语6.写出创建成绩表视图<学号,##,课程号,课程名称,成绩>的代码;7.写出创建分数存储过程用于计算某门课程成绩最高分、最低分、平均分8.检索姓李的女同学的信息:##、性别、民族.9.设置SQL身份验证的账户:登录名:U领导密码:888数据库用户名:U读者权限:可查询查询本数据库中所有表的数据.10.《SQL数据库管理与开发教程与实训》试题<E卷>参考答案一、单项选择题1.C 2.A 3.D 4.D 5.B 6.C 7.A 8.D 9.B 10.D二、判断题1.N 2.Y 3.Y 4.N 5.N 6.Y 7.Y 8.N 9.N 10.Y三、填空题1.数据定义语言<DDL>、数据操作语言<DML>2.混合3.354.视图5.实体完整性6.聚集索引7.存储过程8.insert、update9.原子、一致、独立、持久10.访问、运行11.作业、警报12.事务、合并五、设计题1.create database [学生成绩数据库]gouse [学生成绩数据库]go2. create table课程表<[课程号] char<6> primary key,[课程名称] char<40> not null[任课教师] char<4>>3. create table 学生表<[学号] char<6> primary key,[##] nchar<4> not null,[性别] nchar<1> check<[性别] in <'男', '女'>>,[民族] nchar<8> default '汉族' not null>4. create table成绩表<[学号] char<6> references 学生表<学号>,[课程号] char<6> references 课程表<课号>,[成绩] integer check<[成绩] between 0 and 100>>5.insert 课程表 values<'100001', '大学语文'>insert 课程表 values<'100002', '大学英语'>insert 课程表 values<'100003', '西班牙语'>6.create view [成绩表视图] asselect 学号,##,课程号,课程名称,成绩 from 成绩表,学生表where 成绩表.学号=学生表.学号select 学号,##,课程号,课程名称,成绩 from 成绩表 join 学生表on 成绩表.学号=学生表.学号7.create procedure [分数]课程名 nchar<16> asselect 课程名称, 最高分=max<分数>、最低分=min<分数>、平均分=avg<分数> from 成绩表视图where 课程名称 = 课程名8.select ##, 性别, 民族 from 学生表 where ## like '李%' and 性别='女' 9.use [学生成绩数据库]exec sp_addlogin 'U领导', '888', '学生成绩数据库', '简体中文'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'10.Begin transactionInsert 成绩表<学号,课程号,分数> values<‘20030021’,’001’,80>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’002’,90>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’003’,80>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’004’,70>Declare num intSet num=<select count<*> from 成绩表 where 学号=‘20030021’>If num>4Rollback transactionElsemit transactiongo《SQL数据库管理与开发教程与实训》试题<F卷>郭鲜凤老师一、单项选择题<每小题1分,共10分>1.SQL Server系统中的所有服务器级系统信息存储于哪个数据库〔〕.A. masterB. modelC. tempdbD. msdb2.下列标识符可以作为局部变量使用〔〕.A. MyvarB. My varC. @MyvarD. @My var3.以下关于主键的描述正确的是〔〕.A.标识表中唯一的实体B.创建唯一的索引,允许空值C.只允许以表中第一字段建立D.表中允许有多个主键4.为数据表创建索引的目的是〔〕.A.提高查询的检索性能B.创建唯一索引C.创建主键D.归类5.下列哪个不是sql 数据库文件的后缀.A..mdfB..ldfC..dbfD..ndf6.在SQL SERVER服务器上,存储过程是一组预先定义并〔〕的Transact-SQL语句.A.保存B.编译C.解释D.编写7.数据定义语言的缩写词为 < >.8.以下关于外键和相应的主键之间的关系,正确的是< >.A.外键并不一定要与相应的主键同名B.外键一定要与相应的主键同名C.外键一定要与相应的主键同名而且唯一D.外键一定要与相应的主键同名,但并不一定唯一9.在数据库设计中使用E-R图工具的阶段是< >.A.需求分析阶段B.数据库物理设计阶段C.数据库实施D.概念结构设计阶段10.在T-SQL语言中,修改表结构时,应使用的命令是〔〕A.UPDATEB. INSERTC. ALTERD. MODIFY三、填空题<每空1分,共30分>1. 目前最常用的数据库有层次数据库、_________数据库和_________数据库,其中_________数据库是目前应用最广泛的一种数据库.2. 关系数据模型的逻辑结构是__________,关系中的列称为________,行称为________.3. 关系数据库模型的数据操作主要包括插入、________、________和________数据.4. SQL、DCL和DML缩写词的意义是___________语言、___________语言和___________语言.5.实体之间的联系类型有三种,分别为________、________和________.6.数据库系统的三级模式结构和两级数据映像确保了数据的________独立性和________独立性.7.SQL Server 2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份.8.SQL Server代理主要由______、______和_____来组成.9.SQL Server复制把服务器分为______服务器、______服务器和_____服务器三种.10.在SQL中,create view、alter view和drop view命令分别为________、________和________视图的命令.五.设计题<每小题5分,共40分>有一个[学生课程]数据库,数据库中包括三个表:学生表:Student由学号<Sno>、##<Sname>、性别<Ssex>、年龄<Sage>、所在系<Sdept>五个属性组成,记为:Student<Sno,Sname,Ssex,Sage,Sdept>,Sno 为关键字.课程表:Course由课程号<o>、课程名<ame>、先修课号<Cpno>、学分<Ccredit>四个属性组成,记为: Course<o,ame,Cpno,Ccredit> o为关键字.成绩表:SG由学号<Sno>、课程号<o>、成绩<Grade>三个属性组成,记为:SG<Sno,o,Grade> <SNO, O> 为关键字.用SQL语言实现下列功能:1.建立学生表[Student],其中学号属性不能为空,并且其值是唯一的.2.查考试成绩有不与格的学生的学号.3.将学号为05001学生的年龄改为22岁.。

新SQL——SERVER实验练习答案

新SQL——SERVER实验练习答案

SQL-Server实验答案上海师范大学计算机系目录第一部分企业管理器的使用 (3)试验一注册服务器.................................................................................. 错误!未定义书签。

试验二创建数据库.................................................................................. 错误!未定义书签。

试验三创建表.......................................................................................... 错误!未定义书签。

实验四数据输入...................................................................................... 错误!未定义书签。

实验五登录到数据库服务器.................................................................. 错误!未定义书签。

第二部分SQL语言 (3)第二部分SQL语言 (3)试验一数据库创建 (3)试验二创建表 (3)试验三创建数据完整性 (5)试验四数据完整性试验 (6)试验五索引 (10)试验六更新数据 (11)试验七 Sql 查询语句 (12)试验八视图 (15)试验九安全性控制实验 (16)试验十存储过程 (17)试验十二触发器 (21)试验十二恢复技术 (25)试验十三事务 (26)试验十四锁 (27)第一部分企业管理器的使用第二部分SQL语言试验一数据库创建目的:1掌握利用SQL语言进行数据库的创建、维护。

2 sp_helpdb 命令要求:1 创建数据库 2 修改数据库 3 删除数据库一建立school 数据库1 使用查询分析器创建数据库 schoolCreate DataBase school2 使用 SP_helpdb 查询数据库 School 的信息3 使用SQL-Server 的企业管理器查看数据库 school 的信息。

sql_server实验指导 课后答案

sql_server实验指导 课后答案

sql_server实验指导课后答案一、实验目的1、掌握SQL Server的安装及配置;2、掌握SQL Server的基本操作;3、掌握SQL Server的数据库管理;4、掌握SQL Server的数据库设计;5、掌握SQL Server的数据库查询;6、掌握SQL Server的数据库维护;7、掌握SQL Server的数据库安全管理。

二、实验内容1、安装SQL Server首先,我们需要下载SQL Server安装文件,然后双击安装文件,按照提示安装SQL Server,安装完成后,我们就可以使用SQL Server了。

2、配置SQL Server在安装完成后,我们需要配置SQL Server,配置SQL Server的方法有很多,比如设置SQL Server的安全性、设置SQL Server的连接属性、设置SQL Server的数据库文件位置等等。

3、基本操作在配置完成后,我们就可以使用SQL Server进行基本操作了,比如创建数据库、创建表、插入数据、更新数据、删除数据等等。

4、数据库管理在使用SQL Server进行基本操作后,我们还可以使用SQL Server进行数据库管理,比如创建视图、创建存储过程、创建触发器等等。

5、数据库设计在使用SQL Server进行数据库管理后,我们还可以使用SQL Server进行数据库设计,比如设计数据库模式、设计数据库索引、设计数据库视图等等。

6、数据库查询在使用SQL Server进行数据库设计后,我们还可以使用SQL Server进行数据库查询,比如使用SELECT语句查询数据、使用JOIN语句查询数据、使用GROUP BY语句查询数据等等。

7、数据库维护在使用SQL Server进行数据库查询后,我们还可以使用SQL Server进行数据库维护,比如备份数据库、恢复数据库、优化数据库等等。

8、数据库安全管理在使用SQL Server进行数据库维护后,我们还可以使用SQL Server进行数据库安全管理,比如设置用户权限、设置数据库安全策略、设置数据库审计等等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SELECT课程号=cs_id,课程名=cs_nm,学分=cs_sc,学时=cs_sc*16
FROMcouse
(5)增加说明列
操作5.6:查询dept表的系号、系名和系主任,向查询结果中插入说明列:系号、系名和系主任
SELECT '系号:', st_id, '系名:', st_nm,'系主任:', st_drt
cs_scintNULL
)
GO
操作2.3:创建选课表:
表名:slt_couse
说明:选课表
属性列
数据类型
长度
空值
列约束
说明
cs_id
nVarChar
4
Not Null
FK
课程编号
st_id
nVarChar
9
Not Null
FK
学生编号
score
int
Null
课程成绩
sltdate
datetime
Null
DELETE FROMslt_couseWHEREcs_id='1234'ANDst_id='070201001'
操作4.9:删除couse表记录,将课程号为1234的记录删除
DELETE FROMcouseWHEREcs_id='1234'
实验
(1)查询表中所有的列
操作5.1:查询所有系的信息
SELECT * FROMdept
选课日期
参考答案:
USE test
GO
CREATE TABLEcouse
(
cs_idnVarChar(4)NOT NULL,
st_idnVarChar(9)NOT NULL,
scoreintNULL,
sltdatedatetimeNULL
)
GO
操作2.4:创建院系信息表:
表名:dept
说明:院系信息表
filename = 'd:\test\test_log.ldf',
size = 1MB,
maxsize = 5MB,
filegrowth = 10%
)
GO
2.查看数据库属性:
操作1.2:使用T-SQL语句查看数据库test属性
参考答案:
EXEC sp_helpdb test
3.删除数据库:
操作1.3:使用T-SQL语句删除数据库test
FROMdept
(6)查询列表中使用系统函数
操作5.7:显示所有学生的学号、姓名、性别和入学年份
SELECT st_id, st_nm, st_sex,DATEPART(yy,st_birth) AS入学年份
FROM student
操作5.8:显示所有学生学号、姓名、性别和班级(学号前6位)
SELECT st_id, st_nm, st_sex,LEFT(st_id, 6) AS班级
实验
1.创建数据库:
操作1.1:创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。
参考答案:
CREATE RULE rl_sexAS @chksex’男’OR@chksex=’女’

CREATE RULE rl_sexAS @chksex IN (’男’,’女’)
GO
EXEC sp_bindrule rl_sex, 'student.st_sex'
GO
EXEC sp_unbindrule 'student.st_sex'
2
操作3.2:将student表中的st_from列默认值设置为“陕西省”
参考答案:
ALTER TABLE studentADD DEFAULT '陕西省' FORst_from
3
操作3.3:创建默认值对象df_today为当前日期,并将其绑定到slt_couse表中的sltdate列,然后取消绑定,最后删除默认值对象df_today。
FROM student
(4)重新命名查询结果
操作5.4:使用AS关键字为dept表中属性指定列名:系号、系名、系主任、联系电话
SELECTdp_id AS系号,dp_nm AS系名,dp_drtAS系主任,dp_telAS联系电话
FROMdept
操作5.5:使用"="号为couse表中属性指定列名:课程号、课程名、学时(=cs_sc*16)、学分
操作4.2:向student表插入一条记录,学号070201001,姓名为王小五,性别为男,出生日期为1990年9月9日,系号为11,其余字段为NULL或默认值
INSERT INTO student(st_id, st_nm, st_sex, st_birth, st_dpid)
VALUES ('070201001', '王小五', '男', '1990.9.9','11')
dp_nmnVarChar(20)NOT NULL,
dp_drtnVarChar(8)NULL,
dp_telnVarChar(12)NULL
)
GO
2.修改表结构:

操作2.5:为“dept”表添加“dp_count”列(数据类型为nvarchar,长度为3,允许为空)
参考答案:
ALTER TABLEdeptADDdp_countnvarchar(3) NULL
UPDATEcouseSETcs_tm=64,cs_sc=4
操作4.7:修改slt_couse表记录,将课程号为1234,学名为070201001的记录的成绩改为77
UPDATEslt_couseSETscore=77WHEREcs_id='1234'ANDst_id='070201001'
3.
操作4.8:删除slt_couse表记录,将课程号为1234,学名为070201001的记录删除
GO
DROP RULE rl_sex
GO
6.
操作3.6:将dept表中的dp_id列设置为主键
参考答案:
ALTER TABLE deptADDPRIMARYKEY (dp_id)
7.唯一性约束
操作3.7:将dept表中的dp_nm列设置为唯一性约束
参考答案:
ALTER TABLEdeptADD UNIQUE .8:向slt_couse表中添加标识列id,第1行默认值为1,相邻两个标识列间的增量为1
参考答案:
ALTER TABLEslt_couseADD id INT IDENTITY(1,1) NOT NULL
9.外键(
操作3.9:被参照表为dept,参照表为student
参考答案:
ALTER TABLE student
3.
操作2.8:删除“dept”表
参考答案:
DROP TABLE student
4.
操作2.9:分别向“student”表、“couse”表、“slt_couse”表、“dept”表中输入数据记录
实验
1
操作3.1:将student表中的st_sex列属性更改为NOT NULL
参考答案:
ALTER TABLE studentALTER COLUME st_nm nVarChar(8) NOT NULL
操作4.3:向couse表插入一条记录,课程号1234,课程名为操作系统,其余字段为NULL或默认值
INSERT INTOcouse(cs_id,cs_nm)VALUES ('1234', '操作系统')
操作4.4:向slt_couse表插入一条记录,课程号1234,学名070201001,其余字段为NULL或默认值
参考答案:
CREATE DEFAULT df_today ASGetdate( )
GO
EXEC sp_bindefault df_today, 'slt_couse.sltdate'
GO
EXEC sp_unbindefault 'slt_couse.sltdate'
GO
DROP DEFAULT df_today
学生性别
st_birth
datetime
Null
出生日期
st_score
int
Null
入学成绩
st_date
datetime
Null
入学日期
st_from
nChar
20
Null
学生来源
st_dpid
nVarChar
2
Null
所在系编号
st_mnt
tinyint
Null
学生职务
参考答案:
USE test
20
Not Null
课程名称
cs_tm
int
Null
课程学时
cs_sc
int
Null
课程学分
参考答案:
USE test
GO
CREATE TABLEcouse
(
cs_idnVarChar(4)primary key NOT NULL,
cs_nmnVarChar(20)NOT NULL,
cs_tmintNULL,
ADD FOREIGN KEY (st_dpid)REFERENCESdept(dp_id)
相关文档
最新文档