数据库SQLServer-实验3答案-教

合集下载

数据库原理实验讲义 与答案 SQL Server

数据库原理实验讲义 与答案 SQL Server

《数据库系统原理》实验报告SQL Server版实验一SQL练习1一、实验目的1.掌握基本表的定义;2.掌握插入数据、修改数据和删除数据语句的常用形式。

二、实验学时2学时三、实验内容1.利用Enterprise Manager,新建一个数据库,命名为zyxt,并有以下要求:⑴该数据库记录某采油厂对油/水井实施作业时所消耗的成本。

(作业:为保证油水井正常生产所实施的工程项目)⑵成本的消耗分为预算、结算、入账三个状态。

预算:采油队向管理部门提出作业申请,并经管理部门批准后,由管理部门负责录入。

结算:某次作业施工结束后,由管理部门与施工单位共同核算各种成本,由管理部门负责录入。

入账:结算后,财务部门将成本计入采油厂账目,由财务部门录入。

⑶预算状态时需要录入的数据:(★:字符型◆货币型▲日期型)★单据号:某一作业项目的编号★预算单位:指需要对油水井实施作业的采油队代码★井号:需要实施作业的油水井◆预算金额★预算人▲预算日期⑷结算状态时需要录入的数据:(★:字符型◆货币型▲日期型▼数值型)调出某条预算记录,录入以下数据:▲开工日期▲完工日期★施工单位★施工内容◆材料费(要求另外用表单独记录材料消耗的明细)(★单据号★物码▼消耗数量◆单价)◆人工费◆设备费◆其它费用◆结算金额(材料费+人工费+设备费+其它费用)★结算人▲结算日期⑸入账状态时需要录入的数据:(★:字符型◆货币型▲日期型)调出某条结算记录,录入以下数据:◆入账金额★入账人▲入账日期⑹为了避免出现数据的不一致和方便数据录入,要求定义以下基础表:(★:字符型)单位代码表:★单位代码★单位名称油水井表:★井号★井别:油井/水井★单位代码(表示某口井由哪个单位负责管理)施工单位表:★施工单位名称物码表:★物码★名称规格★计量单位2.根据以上要求,在Query Analyzer中用建表语句定义所需的数据表。

CREATE TABLE单位代码表(单位代码VARCHAR(20),单位名称VARCHAR(20));CREATE TABLE油水井表(井号VARCHAR(20),井别VARCHAR(20),单位代码VARCHAR(20),);CREATE TABLE施工单位表(施工单位名称VARCHAR(30));CREATE TABLE物码表(物码VARCHAR(20),名称规格VARCHAR(20),计量单位VARCHAR(20));CREATE TABLE材料费(单据号VARCHAR(20),物码VARCHAR(20),消耗数量SMALLINT,单价NUMERIC(10,2),);CREATE TABLE成本材料消耗表(单据号VARCHAR(20),预算单位VARCHAR(20),井号VARCHAR(20),预算金额NUMERIC(10,2),预算人VARCHAR(20),预算日期DATE,开工日期DATE,完工日期DATE,施工单位VARCHAR(20),施工内容VARCHAR(20),材料费NUMERIC(10,2),人工费NUMERIC(10,2),设备费NUMERIC(10,2),其它费用NUMERIC(10,2),结算金额NUMERIC(10,2),结算人VARCHAR(20),结算日期DATE,入账金额NUMERIC(10,2),入账人VARCHAR(20),入账日期DATE,);3.在Query Analyzer中用数据插入语句录入以下数据:单位代码表:1122 采油厂112201 采油一矿112202 采油二矿112201001 采油一矿一队112201002 采油一矿二队112201003 采油一矿三队112202001 采油二矿一队112202002 采油二矿二队INSERTINTO单位代码表(单位代码,单位名称)VALUES('1122','采油厂');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201','采油一矿');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202','采油二矿');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201001','采油一矿一队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201002','采油一矿二队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112201003','采油一矿三队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202001','采油二矿一队');INSERTINTO单位代码表(单位代码,单位名称)VALUES('112202002','采油二矿二队');油水井表:(y001 油井112201001)(y002 油井112201001)(y003 油井112201002)(s001 水井112201002)(y004 油井112201003)(s002 水井112202001)(s003 水井112202001)(y005 油井112202002)INSERTINTO油水井表(井号,井别,单位代码)VALUES('y001','油井','112201001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y002','油井','112201001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y003','油井','112201002');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s001','水井','112201002');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y004','油井','112201003');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s002','水井','112202001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('s003','水井','112202001');INSERTINTO油水井表(井号,井别,单位代码)VALUES('y005','油井','112202002');施工单位表:作业公司作业一队作业公司作业二队作业公司作业三队INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业一队');INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业二队');INSERTINTO施工单位表(施工单位名称)VALUES('作业公司作业三队');物码表:(单价均为10)wm001 材料一吨wm002 材料二米wm003 材料三桶wm004 材料四袋INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm001','材料一','吨');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm002','材料二','米');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm003','材料三','桶');INSERTINTO物码表(物码,名称规格,计量单位)VALUES('wm004','材料四','袋');4.利用Query Analyzer录入以下数据:某作业项目编号zy2018001预算单位:112201001 井号:y001 预算金额:10000.00预算人:张三预算日期:2018-5-1 开工日期:2018-5-4完工日期:2018-5-25 施工单位:作业公司作业一队施工内容:堵漏材料费:7000.00(其中材料一:2000.00材料二:2000.00 材料三:2000.00 材料四:1000.00)人工费:2500.00 设备费:1000.00其它费用:1400.00结算金额:11900.00 结算人:李四结算日期:2018-5-26入账金额:11900.00 入账人:王五入账日期:2018-5-28INSERT INTO成本材料消耗表(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,人工费,设备费,其它费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES('zy2018001','112201001','y001',10000.00,'张三','2018-5-1','2018-5-4','2018-5-25','作业公司作业一队','堵漏',7000.00,2500.00,1000.00,1400.00,11900.00,'李四','2018-5-26',11900.00,'王五','2018-5-28');5.利用Enterprise Manager录入以下数据:⑴某作业项目编号zy2018002预算单位:112201002 井号:y003 预算金额:11000.00预算人:张三预算日期:2018-5-1 开工日期:2018-5-4完工日期:2018-5-23 施工单位:作业公司作业二队施工内容:检泵材料费:6000.00(其中材料一:2000.00材料二:2000.00 材料三:2000.00)人工费:1500.00 设备费:1000.00其它费用:2400.00结算金额:10900.00 结算人:李四结算日期:2018-5-26入账金额:10900.00 入账人:王五入账日期:2018-5-28⑵某作业项目编号zy2018003预算单位:112201002 井号:s001 预算金额:10500.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-6 完工日期:2018-5-23 施工单位:作业公司作业二队施工内容:调剖材料费:6500.00(其中材料一:2000.00 材料二:2000.00 材料三:2500.00)人工费:2000.00 设备费:500.00其它费用:1400.00 结算金额:10400.00 结算人:李四结算日期:2018-5-26 入账金额:10400.00 入账人:王五入账日期:2018-5-28 ⑶某作业项目编号zy2018004预算单位:112202001 井号:s002 预算金额:12000.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-4 完工日期:2018-5-24 施工单位:作业公司作业三队施工内容:解堵材料费:6000.00(其中材料一:2000.00 材料二:2000.00 材料四:2000.00)人工费:2000.00 设备费:1000.00其它费用:1600.00 结算金额:10600.00 结算人:李四结算日期:2018-5-26 入账金额:10600.00 入账人:赵六入账日期:2018-5-28 ⑷某作业项目编号zy2018005预算单位:112202002 井号:y005 预算金额:12000.00 预算人:张三预算日期:2018-5-1 开工日期:2018-5-4 完工日期:2018-5-28 施工单位:作业公司作业三队施工内容:防砂材料费:7000.00(其中材料一:2000.00材料二:2000.00 材料四:3000.00)人工费:1000.00 设备费:2000.00其它费用:1300.00结算金额:11300.00结算人:李四结算日期:2018-6-16.利用Query Analyzer完成以下操作:⑴将编号为zy2018005的项目的人工费和结算金额增加200元。

SQL Server 数据库第三次作业答案

SQL   Server   数据库第三次作业答案

SQL Server 数据库第三次作业答案sql-server-数据库第三次作业答案本科第三次作业(第十六周小课上缴,用学院统一的作业纸书写。

)一、选择题1、对用户出访数据库的权限予以限量就是为了维护数据库的(a)。

a.安全性b.完整性c.一致性d.并发性2、数据库的(a)就是指数据的正确性和相容性。

a.完整性b.安全性c.并发控制d.系统恢复3、在数据库系统中,定义用户可以对哪些数据对象展开何种操作方式被称作(b)。

a.审计b.授权c.定义d.视图4、脏数据是指(d)。

a.不身心健康的数据c.多余的数据数据5、设对并发事务t1、t2的交叉并行执行如下,执行过程中(b)。

tlt2①read(a)②read(a)a=a+10写回③read(a)a.有丢失修改问题c.有读脏数据问题b.存有无法重复念问题d.没任何问题b.缺损的数据d.未递交的随后被撤销的更新6、若事务t1已经给数据a加了共享锁,则事务t2(a)。

a.就可以再对a提共享资源门锁b.就可以再对a加排它门锁c.可以对a加共享锁,也可以对a加排它锁d.不能再给a加任何锁7、数据库恢复正常的基本原理就是(c)。

a.授权b.审计c.冗余d.视图8、数据备份可以只激活自上次备份以来更新过的数据,这种备份方法称作(d)。

a.海量备份b.静态备份c.动态备份d.增量备份9、e-r图的基本成分不包含(c)。

a.实体b.属性c.元组d.联系10.从e-r模型向关系模型切换时,一个m:n联系切换为关系模式时,该关系模式的关键字是(c)。

a.m端实体的关键字二、填空题1、用户鉴别机制包含__用户名___和___口令___两个部分。

3、加锁对象的大小被称为加锁的__粒度____。

4、对子程序的处置主要存有两类方法,一就是_一次上锁法_,二就是顺序上锁法5、中止子程序最常用的方法就是提取牺牲生命事务6、分解成缓存数据最常用的技术就是__备案日志文件__和__数据格式化__。

sql 数据库 实验3答案

sql 数据库 实验3答案

实验三:创建及管理数据表1、创建表依据数据表的结构创建相对应的数据表,表结构如下所示; 学生信息表(student )CREATE (sno char (9) PRIMARY KEY , sname char (8) NOT NULL, ssex char(2), sage int ,sdept varchar (20) )课程信息表(course )CREATE (cno char (4) PRIMARY KEY , cname varchar (20) NOT NULL, cpno char (4), ccredit int )选课信息表(sc )CREATE TABLE sc(sno char(9),cno char(4),grade int,Constraint PK_sno PRIMARY KEY(sno,cno))2.修改表结构1)在表student中增加新字段“班级名称(sclass)”字符类型为varchar(10);use studentALTER TABLE studentAdd sclass nvarchar(10)2)在表student中删除字段“班级名称(sclass)”;use studentALTER TABLE studentDrop column sclass3)修改表student中字段名为“sname”的字段长度由原来的6改为8;use studentALTER TABLE studentALTER COLUMN sname char(8)4)修改表student中ssex字段默认值为‘男’;use studentALTER TABLE studentadd default'男'for ssex5)修改表course中cname字段为强制唯一性字段;use studentALTER TABLE courseAdd constraint ix_course unique (cname)6)修改表sc中grade字段的值域为0-100;use studentALTER TABLE scAdd constraint CK_grade CHECK(grade between 0 and 100)7)删除数据表course的唯一性约束;use studentALTER TABLE coursedrop ix_course。

新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 2008)第三章习题及实验答案

数据库原理及应用(SQL Server 2008)第三章习题及实验答案

第三章习题及实验答案习题答案一、选择题1、A2、A3、C二、填空题1、程序2、MIN、SUM3、CONTINUE、BREAK三、简答题1、可以使用的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符及比较运算符等。

2、用户自定义函数可分为:标量函数和表值函数。

可使用CREATE FUNCTION语句创建函数,在调用用户自定义函数时,如果调用的是标量函数,则必须提供架构名。

如果调用的是表值函数,则可以不提供架构名。

用户可以将调用的函数用在赋值语句中,或作为表达式的操作数,或用在SQL命令中。

3、批处理是包含一个或多个Transaction-SQL语句的组,从应用程序一次性的发送到SQL Server执行。

批处理是使用GO语句将多条SQL语句进行分隔,其中每两个GO之间的SQL 语句就是一个批处理单元。

一个批处理中可以包含一条语句,也可以包含多条语句。

4、在SQL Server系统中,可以使用的流程控制语句有BEGIN…..END、IF…ELSE、CASE、WHILE…..CONTINUE….BREAK、GOTO、W AITFOR、RETURN等。

BEGIN…..END….: 在条件语句和循环语句等流程控制语句中,当符合特定条件需要执行两个或多个语句时,就应该使用BEGIN…END语句将这些语句组合在一起。

IF…..ELSE….: IF….ELSE语句是条件判断语句。

CASE:用于多重选择的条件判断语句,结果返回单个值。

在CASE中可根据表达式的值选择相应的结果。

WHILE…..CONTINUE….BREAK: SQL语言中的循环语句,用来重复执行SQL语句或语句块。

GOTO: SQL程序中的无条件跳转语句,可以使程序直接跳到指定的标识符位置处继续执行。

WAITFOR: SQL中起暂停正在执行的语句、语句块或者存储过程的调用,直到某时间、时间间隔到达后才继续执行。

sql_server实验指导 课后答案

sql_server实验指导 课后答案

sql_server实验指导课后答案一、实验题目1. 什么是SQL Server?答:SQL Server是一种关系型数据库管理系统(RDBMS),由微软公司开发,用于存储和管理大量的数据。

它可以处理复杂的数据查询,提供高性能的数据存储和管理,并且可以支持多种编程语言,如T-SQL、C#、Java等。

2. SQL Server的优势有哪些?答:SQL Server的优势有:(1)高性能:SQL Server提供了高性能的数据存储和管理,可以满足大量数据的需求。

(2)安全性:SQL Server提供了多种安全性功能,可以有效保护数据安全。

(3)可扩展性:SQL Server可以根据用户的需求进行扩展,满足不同的业务需求。

(4)可移植性:SQL Server可以跨多种操作系统运行,可以满足不同的环境需求。

(5)可维护性:SQL Server提供了多种维护功能,可以有效管理数据库。

3. 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数据库分析服务:用于分析数据库中的数据。

(8)SQL Server数据库服务器:用于管理数据库服务器。

SQL+server+实用教程第三版试题有及答案

SQL+server+实用教程第三版试题有及答案

、选择题1、下面的描述错误的是( B)A、每个数据文件中有且只有一个数据文件。

B、日志文件可以存在任何文件组中。

C、主数据文件默认为Primary文件组。

D、文件组是为了更好的实现数据库文件组织。

2、SQL server数据库文件有三类,其中主数据文件的后缀是(C)A、ndfB、ldfC、mdfD、idf3、下面标志符不合法的是( C)A、#mybaseB、-mybaseC、$mybaseD、mybase4、下面对索引的相关描述正确的是( C)A、经常被查询的列不适合建索引。

B 、列值唯一的列适合建索引。

C、有很多重复值的列适合建索引。

D、是外键成主键的列不适合建索引。

5、下列 SQL 语句中,修改表结构的是(A)A、ALTERB、CREATEC、UPDATED、INSERT6、用于数据库恢复的重要文件是( C)A、数据库文件B、索引文件C、日志文件D、数据文件7、扩展存储过程是(B )才有的存储过程A、modec数据库B、master 数据库C、msdb 数据库D、tempelb 数据库8、用于进行安全管理的 Transalt-SQL 语言是( C)A、DDL 语言B、DML 语言C、DCL 语言D、DQL 语言9、SQL Server 2000中事务的类型有( A)A、系统,用户定义的事务B、分布式事务C、数据库事务D、其它事务10、下列说法正确的是( D)A、SQL 中局部变量可以不声明就使用B、SQL 中全局变量必须先声明在使用C、SQL 中所有变量必须先声明在使用D、SQL 中只有局部变量先声明再使用,全局变量是由系统提供的,用户不能自己分立11、下面字符串能与通配符表达式 [abc]%a 进行匹配的是( D) A 、bedefB、a_bedC、abc-eD、a%a12、下列说法正确的是( B)A 、视图是观察数据的一种方法,只能基本表建立。

B、视图是虚表,观察到的数据是实际基本表中的数据。

SQL数据库综合实训3参考解答

SQL数据库综合实训3参考解答

SQL数据库综合实训3参考解答实训名称:查询语句及应用一、实训目的通过完成以下实践与操作,牢固掌握SQL Server 中SELECT语句及相关子句的运用;二、实训环境PC机+Windows XP操作系统+SQL Server 2000;三、实训内容与要求现有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表(Course)、班级表(Class)以及成绩表(Grade)。

四个表的结构如下:各表中的数据如下:利用如上的成绩管理数据库与表、数据,实现以下的查询。

1.找出所有被学生选修了的课程号;use GradeManagerselect distinct Cno from Gradego2.找出01311班女学生的个人信息;use GradeManagerselect * from Student where (Ssex='女' and Clno='01311') go3.找出01311班、01312班的学生姓名、性别;use GradeManagerselect * from Student where (Clno='01311' or Clno='01312') go4.找出所有姓李的学生的个人信息;use GradeManagerselect * from Student where Sname like '李%'go5.找出学生李勇所在班级的学生人数;use GradeManagerselect Clno from Student where Sname='李勇'go查出李通所在班级是'00311',再用如下语句查询:use GradeManagerselect Clno,count(*) as '班级人数' from Student where Clno='00311' group by Clnogo或者合并一下,用如下语句(查询结果是一样的):use GradeManagerselect Clno,count(*) as '班级人数' from Student where Clno=(select Clno from Student where Sname='李勇') group by Clnogo6.找出课程名为操作系统的平均成绩、最高分、最低分;--查平均分use GradeManagerselect Cno,avg(Gmark) as '最高分' from Grade where Cno=(select Cno from Course where Cname='操作系统') group byCnogo--查最高分use GradeManagerselect Cno,max(Gmark) as '最高分' from Grade where Cno=(select Cno from Course where Cname='操作系统') group by Cnogo--查最低分use GradeManagerselect Cno,min(Gmark) as '最高分' from Grade where Cno=(select Cno from Course where Cname='操作系统') group by Cnogo7.找出选修了课程的学生人数;use GradeManagerselect Sno,count(*) as '选修的课程数量' from Grade group by Snogo8.找出选修了课程操作系统的学生人数;use GradeManagerselect Cno,count(*) as '选修人数' from Grade where Cno=(select Cno from Course where Cname='操作系统') group by Cnogo9.找出2000级计算机软件班的成绩为空的学生姓名。

数据库管理人员(SQL Server)_3级_操作技能鉴定3.1.10试题答案

数据库管理人员(SQL Server)_3级_操作技能鉴定3.1.10试题答案

《数据库管理人员(SQL Server)》(三级)试题答案参考答案:1.CREATE PROCEDURE add_doctor(@id INT,@name VARCHAR,@hiredate DATETIME,@job VARCHAR,@Sal int,@mgr int,@deptno int)ASBEGININSERT INTO Doctor VALUES(@id,@name,@hiredate,@job,@sal,@mgr,@deptno)END2.Create FUNCTION [dbo].[valid_id](@eno int)RETURNS BIT ASBEGINdeclare @returnvalue bitdeclare @count intSELECT @count=count(1)FROM Doctor, TechnicalOffices WHEREDoctor.id=@eno and Doctor.DEPTNO= TechnicalOffices.ID and TechnicalOffices.Number < 12 and Doctor.Sex= ’男’IF @count>0beginRETURN 1endELSEbeginRETURN 0endreturn @returnvalueEND3.Create FUNCTION [dbo].[get_sal] (@eno int)RETURNs @ReturnTable TABLE(Name varchar(25),hiredate datetime,number int,error varchar(200))ASBEGINIF dbo.valid_id (@eno)=1begininsert into@ReturnTable SELECT , Doctor.HIREDATE, TechnicalOffices.Number FROM Doctor, TechnicalOffices WHEREDoctor.id=@eno and Doctor.DEPTNO= TechnicalOffices.IDendelsebegininsert into @ReturnTable(Name,hiredate,number,error)values('',’’,0,'该医生不存在')endreturnEND4.CREATE FUNCTION get_table(@id int)RETURNS TABLEASRETURN(select Name,Sex,Job from Doctor where DEPTNO = @id)GO5.CREATE PROCEDURE disp_doctor @deptno intASBEGINDECLARE @name varchar(25), @job varchar(10), @hiredate datetime; DECLARE fs_cursor CURSORFOR SELECT name, job, hiredate FROM Doctor where deptno=@deptno; OPEN fs_cursor;FETCH NEXT FROM fs_cursor INTO @name, @job, @hiredate;PRINT' 医生姓名职位雇佣日期'PRINT'-----------------------------------------'WHILE@@FETCH_STATUS= 0BEGINPRINT @name+' '+@job+' '+@hiredateFETCH NEXT FROM fs_cursor INTO @name, @job, @hiredate;ENDCLOSE fs_cursorDEALLOCATE fs_cursorEND;。

SQL server 实用教程第三版试题有及答案

SQL server 实用教程第三版试题有及答案

最新资料,word文档,可以自由编辑!!精品文档下载【本页是封面,下载后可以删除!】一、选择题1、下面的描述错误的是(B)A、每个数据文件中有且只有一个数据文件。

B、日志文件可以存在任何文件组中。

C、主数据文件默认为Primary文件组。

D、文件组是为了更好的实现数据库文件组织。

2、SQL server数据库文件有三类,其中主数据文件的后缀是(C)A、ndfB、ldfC、mdfD、idf3、下面标志符不合法的是(C)A、#mybaseB、-mybaseC、$mybaseD、mybase4、下面对索引的相关描述正确的是(C)A、经常被查询的列不适合建索引。

B、列值唯一的列适合建索引。

C、有很多重复值的列适合建索引。

D、是外键成主键的列不适合建索引。

5、下列SQL语句中,修改表结构的是(A)A、ALTERB、CREATEC、UPDATED、INSERT6、用于数据库恢复的重要文件是(C)A、数据库文件B、索引文件C、日志文件D、数据文件7、扩展存储过程是(B)才有的存储过程A、modec数据库B、master数据库C、msdb数据库D、tempelb数据库8、用于进行安全管理的Transalt-SQL语言是(C)A、DDL语言B、DML语言C、DCL语言D、DQL语言9、SQL Server 2000中事务的类型有(A)A、系统,用户定义的事务B、分布式事务C、数据库事务D、其它事务10、下列说法正确的是(D)A、SQL中局部变量可以不声明就使用B、SQL中全局变量必须先声明在使用C、SQL中所有变量必须先声明在使用D、SQL中只有局部变量先声明再使用,全局变量是由系统提供的,用户不能自己分立11、下面字符串能与通配符表达式[abc]%a进行匹配的是(D)A、bedefB、a_bedC、abc-eD、a%a12、下列说法正确的是(B)A、视图是观察数据的一种方法,只能基本表建立。

B、视图是虚表,观察到的数据是实际基本表中的数据。

SQLServer课后实训参考答案

SQLServer课后实训参考答案

课后实训参考答案单元1(SQL Server概述)1、使用SQL语句。

在Sale数据库中创建名为MyDataType的用户定义数据类型,数据类型为NV ARCHAR,长度为20,该列允许为NULL。

USE SaleGOEXEC sp_addtype MyDataType,'NVARCHAR(20)','NULL' GO单元2(单表数据)使用查询窗口或sqlcmd实施查询。

本实训使用Xk数据库。

--1.查看系部编号为“03”的系部名称。

USE XkGOSELECT DepartNameFROM DepartmentWHERE DepartNo='03'GO--2.查看系部名称中包含有“工程”两个字的系的全名。

USE XkGOSELECT DepartNameFROM DepartmentWHERE DepartName LIKE'%工程%' GO--3.显示共有多少个系部。

USE XKGOSELECT'系部总数'=COUNT(*)FROM DepartmentGO--4.显示“01”年级共有多少个班级。

USE XKGOSELECT'01 级班级数'=COUNT(*)FROM ClassWHERE ClassNo LIKE'2001%'GOSELECT'01 级班级数'=COUNT(*)FROM ClassWHERE ClassName LIKE'01%'GOSELECT'01 级班级数'=COUNT(*)FROM StudentWHERE ClassNo LIKE'2001%'GO--5.查看在“周二晚”上课的课程名称和教师。

USE XKGOSELECT'课程名称'=CouName,'任课教师'=TeacherFROM CourseWHERE SchoolTime='周二晚'GO--6.查看姓“张”、“陈”、“黄”同学的基本信息,要求按照姓名降序排序查询结果。

数据库SQLServer-实验3答案-教

数据库SQLServer-实验3答案-教

数据库SQLServer-实验3答案- 教材-教辅.数据库技术与应用实验实验3 SQL Server数据表管理实验3 SQL Server数据表管理一、实验目的1.学会使用SQL Server管理平台和Transact-SQL语句CREATE TABLE 和ALTER TABLE创建和修改表。

2.学会在SQL Server管理平台中对表进行插入、修改和删除数据操作。

3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。

4.了解SQL Server的常用数据类型。

二、实验内容1.启动SQL Server管理平台,在对象资源管理器中展开“studentsdb 数据库文件夹。

2.在studentsdb数据库中创建数据表《学生表》、《课程表》、《成绩表》,数据结构如图3-1、图3-2和图3-3所示。

图3-1 学生表图3-2 课程表2南京师范大学中北学院.数据库技术与应用实验实验3 SQL Server数据表管理图3-3 成绩表3.在SQL Server管理平台中创建《学生表》、《课程表》。

4.在SQL Server管理平台中,将《学生表》的学号列设置为主键,非空。

5.使用Transact-SQ语句 CREATE TABLE在studentsdb数据库中创建《成绩表》。

6.《学生表》、《课程表》、《成绩表》中的数据如图3-4、图3-5和图3-6所示。

7.在SQL Server管理平台中为《学生表》、《课程表》、《成绩表》添加数据。

3南京师范大学中北学院.数据库技术与应用实验实验3 SQL Server数据表管理(注意:在添加数据是必须逐行输入,否则系统将会报错,显示“出错信息为:键列信息不足或不正确。

更新影响到多行”,产生原因是由于相同记录所造成)。

8.使用Transact-SQL语句INSERT NTTO …VALUES向studentsdb数据库的《成绩表》插入以下数据:学号课程编号成绩0004 0001 804南京师范大学中北学院.数据库技术与应用实验实验3 SQL Server数据表管理9.使用Transact-SQL语句ALTER TABLE修改《课程表》的“课程编号”列,使之为非空。

SQLSERVER2008实用教程实验参考答案(实验3)

SQLSERVER2008实用教程实验参考答案(实验3)

实验3 表数据插入、修改和删除1. 准备数据样本--向Departments表中插入数据USE YGGLGOINSERT INTO Departments Values('1','财务部',NULL); INSERT INTO Departments Values('2','人力资源部',NULL);INSERT INTO Departments Values('3','经理办公室',NULL);INSERT INTO Departments Values('4','研发部',NULL); INSERT INTO Departments Values('5','市场部',NULL);--向Employees表中插入数据INSERT INTO Employees VALUES('000001','王林','大专','1966-01-23',1,8,'中山路-1-508','83355668','2'); INSERT INTO Employees VALUES('010008','伍容华','本科','1976-03-28',1,3,'北京东路-2','83321321','1'); INSERT INTO Employees VALUES('020010','王向容','硕士','1982-12-09',1,2,'四牌楼-0-108','83792361','1'); INSERT INTO Employees VALUES('020018','李丽','大专','1960-07-30',0,6,'中山东路-2','83413301','1'); INSERT INTO Employees VALUES('102201','刘明','本科','1972-10-18',1,3,'虎距路-2','83606608','5'); INSERT INTO Employees VALUES('102208','朱俊','硕士','1965-09-28',1,2,'牌楼巷-3-106','84708817','5'); INSERT INTO Employees VALUES('108991','钟敏','硕士','1979-08-10',0,4,'中山路-3-105','83346722','5'); INSERT INTO Employees VALUES('111006','张石兵','本科','1974-10-01',1,1,'解放路-1-203','84563418','5'); INSERT INTO Employees VALUES('210678','林涛','大专','1977-04-02',1,2,'中山北路-35','83467336','3'); INSERT INTO Employees VALUES('302566','李玉珉','本科','1968-09-20',1,3,'热河路-3','58765991','4'); INSERT INTO Employees VALUES('308759','叶凡','本科','1978-11-18',1,2,'北京西路-7-52','83308901','4');INSERT INTO Employees VALUES('504209','陈林琳','大专','1969-09-03',0,5,'汉中路-4-12','84468158','4');--向Salary表中插入数据INSERT INTO Salary VALUES('000001',2100.08,123.09);INSERT INTO Salary VALUES('010008',1582.62,88.03);INSERT INTO Salary VALUES('102201',2569.88,185.65);INSERT INTO Salary VALUES('111006',1987.01,79.58);INSERT INTO Salary VALUES('504209',2066.15,108.0);INSERT INTO Salary VALUES('302566',2980.7,210.2);INSERT INTO Salary VALUES('108991',3259.98,281.52);INSERT INTO Salary VALUES('020010',2860.0,198.0);INSERT INTO Salary VALUES('020018',2347.68,180.0);INSERT INTO Salary VALUES('308759',2531.98,199.08);INSERT INTO Salary VALUES('210678',2240.0,121.0);INSERT INTO Salary VALUES('102208',1980.0,100.0);2. 创建一个Employees3表,字段同Employees一致。

数据库实验3答案

数据库实验3答案

实验三:交互式SQL语句的使用1、实验目的(1)掌握数据库对象的操作过程,包括创建、修改、删除(2)熟悉表的各种操作,包括插入、修改、删除、查询(3)熟练掌握常用SQL语句的基本语法2、实验平台使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。

3 实验内容及要求选择如下一个应用背景之一:学生选课系统习题3、4、和5中使用的数据库其它你熟悉的应用(1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。

(2)要求认真进行实验,记录各实验用例及执行结果。

(3)深入了解各个操作的功能。

实验要求包括如下方面的内容:3.1 数据定义1.基本表的创建、修改及删除2.索引的创建3.视图的创建3.2 数据操作完成各类更新操作包括:1.插入数据2.修改数据3. 删除数据3.3 数据查询操作完成各类查询操作1.单表查询2.分组统计3. 连接查询4. 嵌套查询5. 集合查询3.4 数据操作1.创建视图2.视图查询参考示例:建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。

一、数据定义创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表1. Student表结构列名称用途类型长度约束备注Sno 学号字符8 主键Sname 姓名字符8Ssex 性别字符 2Sage 年龄整型Sdept 所在系字符20Sclass 班级字符 4表2. Course表结构列名称用途类型长度约束备注Cno 课程号字符 4 主键Cname 课程名字符40Cpno 先修课程号字符 4Ccredit 学分整型表3. SC表结构列名称用途类型长度约束备注Sno 学号字符8 外键Cno 课程号字符 4Grade 成绩整型1.创建、修改及删除基本表(1)创建Student表CREATE TABLE Student(Sno CHAR(8)PRIMARY KEY,Sname CHAR(8),Ssex CHAR(2)NOT NULL,Sage INT,Sdept CHAR(20));(2)创建Course表CREATE TABLE Course(Cno CHAR(4)PRIMARY KEY,Cname CHAR(40)NOT NULL,Cpno CHAR(4),Ccredit SMALLINT,);(3)创建SC表CREATE TABLE SC(Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno),Cno CHAR(4),Grade SMALLINT,);(4)创建员工表EmployeeCREATE TABLE Employee(编号CHAR(8)PRIMARY KEY,姓名VARCHAR(8)not null部门CHR(40),工资numeric(8,2),生日datetime,职称char(20),);指出该语句中的错误并改正后执行。

SQL Server实验指导书(答案)

SQL Server实验指导书(答案)

SQL Server数据库实验指导书目录实验一SQL Server常用管理工具的使用 (1)实验二数据库设计方法 (3)实验三数据库的管理 (6)实验四表的管理 (12)实验五数据查询1 (17)实验五数据查询2 (20)实验六视图的使用 (23)实验七索引 (25)实验八T-SQL语言 (26)实验九存储过程 (30)实验十触发器 (32)实验十一安全管理 (34)实验十二数据库的备份与恢复 (37)实验一SQL Server常用管理工具的使用实验目的1、理解服务的概念,掌握SQL Server服务的启动、暂停和停止;2、熟悉SQL Server数据库结构,掌握企业管理器的基本操作;3、理解查询分析器的作用,掌握查询分析器的常用用法;4、掌握联机丛书的用法。

实验内容与步骤1、服务管理器的用法SQL Server 是作为Windows 网络操作系统的一个服务运行的。

通过设置,可以在启动操作系统时自动启动SQL Server,也可以远程启动和停止SQL Server。

可以使用下列工具手工启动、暂停和停止SQL Server服务:●SQL Server企业管理器●SQL Server服务管理器●控制面板中的“服务”●在命令提示符中使用net命令net pause mssqlservernet continue mssqlservernet stop mssqlserver其中,服务管理器是最常用的图形界面工具。

实验要求1:使用SQL Server服务管理器查看SQL Server服务是否正在运行,若正在运行,将其停止。

实验要求2:使用控制面板中的“服务”管理控制台将已停止的SQL Server服务启动。

2、企业管理器的使用企业管理器是SQL Server提供的最主要的数据库管理图形界面工具,它以树形结构来组织数据库服务器、数据库和数据库中的对象,大部分的数据库管理工作都可以使用它来完成。

实验要求3:启动企业管理器,查看SQL Server的注册属性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库SQLServer-实验3答案-教辅-教材
实验3 SQL Server数据表管理
一、实验目的
1.学会使用SQL Server管理平台和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表。

2.学会在SQL Server管理平台中对表进行插入、修改和删除数据操作。

3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。

4.了解SQL Server的常用数据类型。

二、实验内容
1.启动SQL Server管理平台,在对象资源管理器中展开“studentsdb数据库文件夹。

2.在studentsdb数据库中创建数据表《学生表》、《课程表》、《成绩表》,数据结构
如图3-1、图3-2和图3-3所示。

图3-1 学生表
图3-2 课程表
图3-3 成绩表3.在SQL Server管理平台中创建《学生表》、《课程表》。

4.在SQL Server管理平台中,将《学生表》的学号列设置为主键,非空。

5.使用Transact-SQ语句CREATE TABLE在studentsdb数据库中创建《成绩表》。

6.《学生表》、《课程表》、《成绩表》中的数据如图3-4、图3-5和图3-6所示。

7.在SQL Server管理平台中为《学生表》、《课程表》、《成绩表》添加数据。

(注意:在添加数据是必须逐行输入,否则系统将会报错,显示“出错信息为:键列信息不足或不正确。

更新影响到多行”,产生原因是由于相同记录所造成)。

8.使用Transact-SQL语句INSERT NTTO …V ALUES向studentsdb数据库的《成绩表》插入以下数据:
学号课程编号成绩
0004 0001 80
9.使用Transact-SQL语句ALTER TABLE修改《课程表》的“课程编号”列,使之为非空。

10.使用Transact-SQL语句ALTER TABLE修改《成绩表》的“分数”列,使其数据类型为real。

11.使用Transact-SQL语句ALTER TABLE修改《学生表》的“姓名”列,数据类型为vachar(10)且非空。

12.分别使用SQL Server管理平台和Transact-SQL语句DELETE删除studentsdb数据库的《成绩表》中学号为“0004”的成绩记录。

13.使用Transact-SQL语句UPDATE修改studentsdb数据库的《成绩表》中学号为’0003’、课程编号为’0005’、分数为90的成绩记录。

14.使用Transact-SQL语句ALTER…ADD为studentsdb数据库的《成绩表》添加一个名为“备注”的数据列,其数据类型为V ARCHAR(20)。

15.分别使用SQL Server管理平台和Transact-SQL语句DROP TABLE删除studentsdb数据库中《成绩表》。

三、实验思考
1.使用Transact-SQL语句删除在studentsdb数据库的《成绩表》添加的“备注”数据列。

USE studentsdb1
ALTER TABLE dbo.成绩表ADD备注VARCHAR(20)NULL
2.在SQL Server管理平台中,studentsdb数据库的《学生表》的数据输入时,如果输入相同“学号”的记录将出现什么现象?怎样避免该情况的发生?。

相关文档
最新文档