数据库试验3答案
- 格式:doc
- 大小:43.00 KB
- 文档页数:10
数据库原理与应用实验报告三及答案
广东金融学院实验报告课程名称:数据库原理与应用实验编号及实验名称实验三数据库高级应用实验系别计科系姓名学号班级实验地点新电1101实验日期05月14日实验时数8指导教师同组其他成员无成绩一、实验目的及要求1、掌握SQLServer存储过程的定义和使用。
2、掌握SQLServer触发器的定义和使用。
二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)1、计算机操作系统要求在windowsXP以上。
2、并要求SQLServer软件月日第3页共2页。
实验三:创建及管理数据表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。
一、选择题
1.数据库管理系统(DBMS)的核心组成部分是:
A.数据模型
B.数据库
C.数据查询语言
D.数据存储引擎(正确答案)
2.在关系数据库中,表的主键的作用是:
A.仅仅用于唯一标识表中的每一行(正确答案)
B.存储表中的数据
C.定义表之间的关系
D.提高数据查询速度
3.SQL语言中,用于更新表中数据的语句是:
A.SELECT
B.UPDATE(正确答案)
C.DELETE
D.INSERT
4.在数据库设计中,使用ER图(实体-关系图)的主要目的是:
A.描述数据库的物理结构
B.描述数据库的逻辑结构(正确答案)
C.描述数据库的数据类型
D.描述数据库的存储过程
5.数据库事务的四个基本特性通常被称为ACID属性,其中“C”代表:
A.原子性
B.一致性(正确答案)
C.隔离性
D.持久性
6.在SQL中,若要从一个表中删除所有行,但保留表结构,应使用以下哪个语句?
A.DROP TABLE
B.DELETE FROM 表名(正确答案)
C.TRUNCATE TABLE 表名
D.DELETE * FROM 表名
7.数据库索引的主要作用是:
A.加快数据查询速度(正确答案)
B.加快数据插入速度
C.加密数据库中的数据
D.减少数据的存储空间
8.在数据库设计中,范式(Normalization)的主要目的是:
A.减少数据冗余(正确答案)
B.提高数据查询速度
C.增加数据的安全性
D.简化数据库的管理。
实验3 SQL语言一、实验目的1、掌握SQL中运算符和表达式的使用。
2、掌握实用SQL语言查询数据库。
二、实验要求1、所有的实验过程请严格按照实验内容的步骤进行。
2、对关键步骤截屏并复制到实验报告的相应位置。
三、实验设备、环境设备:计算机环境:WINDOWS XP、SQL SERVER 2000中文版四、实验原理、方法上机操作五、实验内容准备工作:还原学生成绩管理数据库;注意:写SQL语句时,注意学生成绩管理数据库中表名称和字段名称的对应。
1、使用SQL查询分析器,对学生成绩管理数据库完成如下查询操作:1)简单查询(1)求数学系学生的学号和姓名。
(2)求选修了课程的学生学号。
(3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
(4)求选修课程0001且成绩在80~90之间的学生学号和成绩,并将成绩乘以系数0.8输出。
(5)求数学系或计算机应用系姓王的学生的信息。
(6)求缺少了成绩的学生的学号和课程号。
2)连接查询(1)查询每个学生的情况以及他(她)所选修的课程。
(2)求学生的学号、姓名、选修的课程名及成绩。
(3)求选修0001课程且成绩为90分以上的学生学号、姓名及成绩。
3)嵌套查询(1)求选修了0003的学生学号和姓名。
(2)求0001课程的成绩高于王军的学生的学号和成绩。
(3)求其他系中比计算机系某一学生年龄小的学生。
4)使用分组和函数查询(1)求学生的总人数。
(2)求选修了课程的学生人数。
(3)求课程和选修0001的人数。
(4)求选修课超过3门课的学生学号。
2、设职工-社团数据库有三个基本表:职工(职工号,姓名,年龄,性别)社会团体(编号,名称,负责人,活动地点)参加(职工号,编号,参加日期)试用SQL语句表达下列操作:1)定义职工表、社会团体表和参加表,注意主码和参照关系2)为职工表、社会团体表和参加表天添加适量数据(可用企业管理器)。
计算机三级《数据库技术》训练题及答案一、选择题1. 以下哪一个不是数据库管理系统(DBMS)的主要功能?A. 数据定义B. 数据操纵C. 数据查询D. 数据加密答案:D2. 数据库系统的核心是?A. 数据模型B. 数据库管理系统C. 数据字典D. 数据库设计答案:B3. 以下哪种数据库模型属于非关系模型?A. 层次模型B. 关系模型C. 网状模型D. 星型模型答案:C4. 以下关于SQL语言的描述,错误的是?A. SQL语言是一种过程性语言B. SQL语言是一种非过程性语言C. SQL语言支持事务处理D. SQL语言支持数据定义、数据操纵和数据查询答案:A5. 以下哪个SQL语句用于创建视图?A. CREATE TABLEB. CREATE VIEWC. CREATE INDEXD. CREATE PROCEDURE答案:B二、填空题6. 数据库系统的三级模式结构包括外模式、概念模式和______。
答案:内模式7. 在关系数据库中,完整性约束主要包括实体完整性、______和用户定义的完整性。
答案:参照完整性8. SQL语言中,用于删除数据的命令是______。
答案:DELETE9. 数据库管理系统通常基于某种数据模型,目前广泛使用的数据模型是______。
答案:关系模型10. 在数据库设计中,将现实世界中的事物抽象为数据库中的表的过程称为______。
答案:数据建模三、判断题11. 数据库系统只能支持关系数据库。
答案:错误12. 数据库管理系统具有自动备份和恢复功能。
答案:正确13. SQL语言是一种完全的过程性语言。
答案:错误14. 数据库系统中的视图实质上是一个虚表。
答案:正确15. 在关系数据库中,主键可以重复,但候选键可以不唯一。
答案:错误四、简答题16. 简述数据库系统的特点。
答案:数据库系统的特点如下:(1)数据结构化:数据库系统采用数据模型来表示和存储数据,使数据具有较好的结构化程度。
全国计算机三级考试《数据库》测试题及答案全国计算机三级考试《数据库》测试题及答案1.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修COMPUTER课程的女学生姓名,将涉及到关系(d )A.SB.SC,CC.S,SCD.S,C,SC2.SQL语言中,实现数据检索的语句是(a )A.SELECTB.INDERTC.UPDATED.DELETE3.下列SQL语句中,修改表结构的是(a )A.ALTERB.CREATEC.UPDATED.INSERT4.SQL语言具有两种使用方式,分别称为交互式SQL和(c )A.提示式SQLB.多用户SQLC.嵌入式SQLD.解释式SQL5.检索所有比王华年龄大的学生姓名、年龄和性别。
正确的SELECT语句是(a )A.SELECT SN,AGE,SEX FROM SSHERE AGE (SELECT AGE FROM S)WHERE SN=王华)B.SELECT SN,AGE,SEXFROM SWHERE SN=王华C.SELECT SN,ACE,SEX FROM SWHERE AGE (SELECT ACEWHERE SN=王华)D.SELECT SN,ACE,SEX FROM SWHERE ACE 王华AGE6.检索选修课程C2的学生中成绩最高的学生的学号。
正确的SeLECT的语句是(d )A.SELECT S# FORM SCWHERE C#= C2 AND GRADE =(SELECT GRADE FORM SC)WHERE C#= C2)B.SELECT S#FORM SCWHERE C#= C2 AND GRADE IN(SELECT CRADE FORM SC) WHERE C#= C2C.SELECT S# FORM SCWHERE C#= C2 AND GRADE NOT IN(SELECT GRADE FORM SCWHERE C#= C2D.SELECT S# FORM SCWHERE C#= C2 AND CRANDE =ALL(SELECT GRADE FORM SCWHERE C#= C2)7.检索学生姓名及其所选修课程的课程号和成绩。
全国计算机三级《数据库技术》测试题及答案全国计算机三级《数据库技术》测试题及答案1). 通过连编可以生成多种类型的文件,但是却不能生成( )A.PRG文件B.APP文件C.DLL文件D.EXE正确答案:A2). 在信息系统的需求分析中,广为使用的DFD建模方法属于( )A.结构化分析方法B.数据分析方法C.数据抽象方法D.业务归纳方法正确答案:A答案解析:DFD图采用自顶向下逐步细化的结构化分析方法。
3). 设M=”30“,执行命令?&M+20后,其结果是( )A.3020B.50C.20D.出错信息正确答案:B4). 有关@…SAY…GET…语句中的校验子句叙述正确的是( )A.RANGE子句是非强制校验,如果输入的数据超过或等于给定上、下限,则提示出错B.VALID子句是强制校验,如果输入的数据使条件表达式为真或数值表达式的值不等于零,则报警并提示出错C.RANGE非强制校验,只有当编辑的变量发生了变化,并按了回车键才予以校验,在给定的初值超过上限或下限时,如果是用光标键移出当前编辑区,则不会提示无效。
D.VALID强制校验,在初值使条件表达式为假或使数值表达式为零时,只要按下回车键,就实施校验,并提示正确的数据范围正确答案:C5). 下列关于数据的逻辑结构的叙述中,哪一条是不正确的?A.数据的逻辑结构是数据间关系的描述B.数据的逻辑结构反映了数据在计算机中的存储方式C.数据的逻辑结构分为线性结构和非线性结构D.队列属于线性结构正确答案:B答案解析:数据的逻辑结构是数据间关系的描述,它只抽象的反映数据元素间的逻辑关系,而不管其计算机中的存储方式,故A项正确,B项错误。
数据的逻辑结构分为线性结构和非线性结构。
线性表是典型的线性结构,而树形结构是典型的非线性结构,所以C和D项正确。
6). 下列条目中哪些是数据库管理系统的.基本功能( )。
Ⅰ.数据库定义Ⅱ.数据库存取Ⅲ.物理文件的读写Ⅳ.数据库维护A.Ⅰ、Ⅱ和ⅢB.Ⅰ、Ⅱ和ⅣC.Ⅰ、Ⅲ和ⅣD.Ⅱ、Ⅲ和Ⅳ正确答案:B答案解析:数据库管理系统的基本功能有以下6个方面:(1)数据库定义功能;(2)数据操纵功能;(3)数据控制功能;(4)数据组织、存储和管理;(5)数据库建立与维护功能;(6)数据通信接口。
2023年计算机三级《数据库》考试历年真题摘选附带答案第1卷一.全考点综合测验(共20题)1.【单选题】规范化理论的叙述中,不正确的是A.规范化理论给我们提供判断关系模式优劣的理论标准B.规范化理论对于关系数据库设计具有重要指导意义C.规范化理论只能应用于数据库逻辑结构设计阶段D.在数据库设计中有时候会适当地降低规范化程度而追求高查询性能2.【单选题】下列关于CPU状态的叙述中,哪些是正确的?Ⅰ. 操作系统管理程序运行在管态Ⅰ.x86 系列处理器提供的R0、R1、R2和R3特权级别中,R0当于目态Ⅰ. 系统运行过程中,从目态转换为管态的唯一途径是中断Ⅰ. 如果用户程序在目态下执行了特权指令,硬件将产生中断A.仅Ⅰ、Ⅰ和ⅠB.仅Ⅰ、Ⅰ和ⅠC.仅Ⅰ、Ⅰ和ⅠD.都正确3.【单选题】下列关于规范化理论的叙述中,哪一( 些) 条是不正确的?Ⅰ. 规范化理论研究关系模式中各属性之间的依赖关系及其对关系模式性能的影响Ⅰ. 规范化理论给我们提供判断关系模式优劣的理论标准Ⅰ. 规范化理论对于关系数据库设计具有重要指导意义Ⅰ. 规范化理论只能应用于数据库逻辑结构设计阶段Ⅰ. 在数据库设计中有时候会适当地降低规范化程度而追求高查询性能A.仅Ⅰ和ⅠB.仅Ⅰ和ⅠC.仅ⅠD.仅Ⅰ4.【单选题】在面向对象数据模型中,子类可以从其超类中继承所有的属性和方法,这有利于实现A.可移植性B.可扩充性C.安全性D.可靠性5.【单选题】双链表的每个结点包括两个指针域。
其中rlink 指向结点的后继,llink 指向结点的前驱。
如果要在p所指结点前面插入q所指的新结点,下面哪一个操作序列是正确的A.p↑.rlink ↑.llink:=q ;p↑.rlink:=q ;q↑.link:=p ;q↑.rlink :=p↑.rlink ;B.p↑.llink ↑.rlink :=q;P↑.llink :=q;q↑.rlink :=p;q↑.llink :=p↑.llink ;C.q↑.llink :=P;q↑.rlink :=p↑.rlink ;p↑.rlink ↑.llink :=q;p↑.rlink :=q;D. q↑.rlink :=P;q↑.llink :=p↑.llink ;p↑.llink ↑.rlink :=q;P↑.llink :=q;6.【单选题】关系代数有五种基本操作,它们是A.并、外部并、交、差、除B.选择、投影、广义投影、赋值、连接C.连接、外连接、笛卡尔积、半连接、聚集D. 并、差、笛卡尔积、选择、投影7.【单选题】下列关于分布式数据库系统的叙述中,哪一条是不正确的A.分布式数据库系统的数据存储具有分片透明性B.数据库分片和副本的信息存储在全局目录中C.数据在网络上的传输代价是分布式查询执行策略需要考虑的主要因素D..数据的多个副本是分布式数据库系统和集中式数据库系统都必须面对的问题8.【单选题】对n 个记录的文件进行归并排序,所需要的辅助存储空间为A.O(1)B.O(log2n)C.O(n)D.O(n2)9.【单选题】下列关于栈和队列的叙述中,正确的是()。
实验三:交互式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表结构列名用类长约备主字学Sn字姓Snam字符2性别Ssex整型年龄Sage字符20Sdept所在系字符4Sclass班级表2. Course表结构1.创建、修改及删除基本表(1Student表)创建Student TABLE CREATE, CHAR (Sno(8)PRIMARY KEY8 Sname CHAR(),NOT NULL,)Ssex CHAR(2,Sage INT CHAR(20)Sdept);)创建Course表(2Course TABLECREATE(Cno KEY PRIMARY,)CHAR(4NOT(Cname CHAR40)NULL, 4(), CHAR CpnoSMALLINT,Ccredit);(表SC3)创建SC CREATETABLE 8CHAR Sno(()FOREIGNKEY StudentSno(),REFERENCES)(SnoCno 4(CHAR),Grade,SMALLINT);4()创建员工表EmployeeCREATE TABLE Employee(编号CHAR(8)PRIMARY KEY,姓名VARCHAR(8)not null部门CHR(40),工资numeric(8,2),生日datetime,职称char(20),);指出该语句中的错误并改正后执行。
(5)检查表是否创建成功SELECT*FROM StudentSELECT*FROM CourseSELECT*FROM SCSELECT*FROM Employee(6)修改表结构及约束增加班级列?ALTER TABLE Student ADD Sclass char(4)修改年龄列?ALTER TABLE Student ALTER COLUMN Sage smallint 增加约束?ALTER TABLE Course ADD UNIQUE(Cname)(7)删除表DROP TABLE Employee2.创建索引(1)为Course表按课程名称创建索引CREATE INDEX iCname On Course(Cname)(2)为Student表按学生姓名创建唯一索引CREATE UNIQUE INDEX iSname ON Student(Sname)(3)为SC表按学号和课程号创建聚集索引CREATE CLUSTERED INDEX iSnoCno On SC(Sno,Cno desc)(4)为Course表按课程号创建唯一索引请自己完成该操作3.创建视图建立信息系学生的视图:CREATE VIEW IS_StudentASSELECT Sno,Sname,Sage FROM StudentWHERE Sdept='IS';3.2 数据操作1.插入数据将如下表格中的数据分别插入到数据库相应的表中:表4.学生基本信息表班100100100100100100100表5.课程信息表课程号课程名先修课程号学分41数据库系统原理562高等数学24管理信息系统31346操作系统原理475数据结构26数据处理4语言7C表6.学生选课信息表学号课程号成绩19220100001852********883201000019020100002180220100002201000031201000103表1)插入到Student('1001'),男',20,'CS'INTOStudent VALUES('20100001','李勇','INSERT19,'CS','1001')'VALUES('20100002','刘晨,'女',Student INSERT INTO女','VALUES,Sdept,Sclass)('20100021','王敏,INSERTINTO Student(Sno,Sname,SsexSage,'1002')',18,'MA'男VALUES('20100031','张立',',(INSERT INTO StudentSno,Sname,Ssex,SageSdept,sclass)),'1003'',19,'IS'','1001')'VALUES,INSERT INTO Student(SnoSname,Ssex,sclass)('20100003','刘洋',女检查下列语句中的错误,并改正:男,'INSERT INTO Student(Sno,Sname,Ssex,Sage,Sdept,sclass) VALUES('20100010',赵斌','19','IS','1005')'1002'19INSERT INTO StudentVALUES('20100022','张明明',,'男','CS',)(2)插入到Course表4)'数据库系统原理','5',VALUES,,INTO Course(CnoCname,CpnoCcredit)('1',INSERTnull,2),,Ccredit)VALUES('2''高等数学',CpnoCno INTOINSERT Course(,Cname,),管理信息系统''1',4,CpnoCno INTOINSERT Course(,Cname,,Ccredit)VALUES('3''请写出插入其余行的插入语句,并插入数据。
3)插入到SC表('1'VALUESINTOINSERT SC('20100001',,92) 80),(INTO SC VALUES'20100002','2'INSERT),(CnoSnoSC INSERT INTO(,)VALUES'20100003''1',null),(GradeCnoSnoSC INTOINSERT (,,)VALUES'20100010''3'请写出插入其余行的插入语句,并运行。
)多行插入到表中(4创建存一个表,保存学生的学号、姓名和年龄:CREATE cs_Student TABLE(char学号 8(),姓名char(8),年龄smallint);插入数据行:INSERT INTO cs_StudentSELECT Sno,Sname,SageFROM student Where Sdept='CS';(5)检查插入到表中的数据SELECT*FROM StudentSELECT*FROM CourseSELECT*FROM SC2.修改数据(1)将学生20100001的年龄改为22岁。
UPDATE student SET Sage= 22 WHERE Sno='20100001';(2)将所有学生的年龄增加一岁。
UPDATE Student SET Sage=Sage+1(3)填写赵斌同学的管理信息系统课程的成绩UPDATE SC SET Grade= 85WHERE Sno='20100010'AND Cno='3'(4)将计算机科学系全体学生的成绩加5分UPDATE sc SET Grade=Grade+ 5WHERE'CS'=(select Sdept from student where student.Sno=sc.Sno);(5)请自己完成如下操作?将刘晨同学的2号课程成绩修改为80?将“20100021”同学的学号修改为“20100025”(6)检查数据是否修改3. 删除数据(1)删除学号为201000022的学生记录DELETE FROM Student WHERE Sno='20100022'(2)删除学号20100001学生的1号课程选课记录将选课信息复制到一个临时表tmpSC中:SELECT*INTO tmpSC FROM SC在tmpSC中执行删除操作:DELETE FROM tmpSC WHERE Sno='20100001'and Cno='1'(3)删除临时表中20100002学生的全部选课记录请自己完成该操作。
(4)删除计算机科学系所有学生的选课记录DELETE FROM tmpSC WHERE'CS'=(select Sdept from student where student.Sno=tmpSC.Sno);(5)删除全部选课记录DELETE FROM tmpSC(6)检查数据是否删除3.3 数据查询操作完成如下查询操作:1.单表查询(1)按指定目标列查询?查询学生的详细记录:SELECT*FROM Student;?查询学生的学号、姓名和年龄SELECT Sno,Sname,Sage FROM Student;(2)目标列包含表达式的查询?查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。