最新数据库复习专升本附答案
数据库基础专升本题库及答案

数据库基础专升本题库(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 40分)1、进行数据库闪回时,必须确保数据库是处于()模式。
A、正常启动模式B、装载模式C、归档模式D、调试维护模式2、数据模型的三要素是()。
A、外模式.模式、内模式B、关系模型.层次模型、网状模型C、实体.联系、属性D、数据结构.数据操作、完整性约束3、下面哪个闩锁不是共享池相关的闩锁()A、LIBRARY CACHEB、ROW CACHE OBJECTSC、REDO ALLOCATIOND、SHARED POOL4、如果用文件概念来命题的话,投影相当于从整个文件中各记录中抽出所要的( )。
A、项目B、集合C、属性D、卷5、关系数据库中,实现实体之间的联系是通过表与表之间的()。
A、公共索引B、公共存储C、公共元组D、公共属性6、关系代数中的连接操作是由()操作组合而成。
A、选择和投影B、选择和笛卡尔积C、投影、选择、笛卡尔积D、投影和笛卡尔积7、在专用服务器(连接)环境下,使用 SQL*Plus 命令“connect babydog/wang38”与DOGS 数据库进行连接,()进程将被启动并直接与 Oracle 服务器进行交互。
A、用户进程(User Prosess)B、服务器进程(Server Prosess)C、分配进程(Dispatcher Prosess)D、共享服务器进程(Shared Server Prosess)8、数据库中,实体是指()。
A、客观存在的事物B、客观存在的属性C、客观存在的特性D、某一具体事件9、函数 mod(23,-5) 的结果是____。
A、3B、-3C、-2D、210、要显示概要文件 DOG_PROJECT 的资源限制信息,请问应该查询如下()数据字典。
A、DBA_USERSB、DBA_TABLESC、DBA_OBJECTSD、DBA_PROFILES11、在CUSTOMER中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句()。
辽宁数据库专升本练习题

辽宁数据库专升本练习题### 辽宁数据库专升本练习题#### 1. 数据库基本概念题目:数据库管理系统(DBMS)的主要功能是什么?答案:数据库管理系统(DBMS)的主要功能包括数据定义、数据操纵、数据控制和事务管理。
数据定义功能允许用户定义数据库的结构,包括创建、修改和删除数据库对象。
数据操纵功能支持数据的查询、插入、更新和删除。
数据控制功能确保数据的安全性和完整性,包括权限管理和数据完整性约束。
事务管理功能确保数据库操作的原子性、一致性、隔离性和持久性。
#### 2. SQL语言基础题目:编写一个SQL查询,用于从员工表(Employee)中检索所有姓“张”的员工的姓名和部门编号。
答案:```sqlSELECT Name, DepartmentIDFROM EmployeeWHERE Name LIKE '张%';```#### 3. 数据库设计题目:描述数据库规范化的过程,并说明为什么要进行规范化。
答案:数据库规范化是一个将数据库结构转换为更有效形式的过程,以减少数据冗余和依赖。
规范化通常涉及将表分解成更小的表,并创建关系来连接它们。
规范化的目的是提高数据完整性、减少数据冗余、提高查询性能和简化数据库维护。
规范化的级别包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF。
#### 4. 索引与查询优化题目:解释什么是索引,以及索引如何提高数据库查询性能。
答案:索引是数据库表中一列或多列的值的集合,这些值被存储在一个单独的结构中,以便快速检索。
索引类似于书籍的目录,允许数据库管理系统(DBMS)快速定位数据,而无需扫描整个表。
通过使用索引,查询性能可以显著提高,因为索引允许DBMS更快地找到所需的数据行。
#### 5. 数据库安全性题目:描述数据库中的用户认证和授权机制。
答案:用户认证是验证用户身份的过程,通常涉及用户名和密码。
一旦用户被认证,授权机制就决定了该用户可以访问哪些数据库资源。
(完整版)专升本数据库练习题及答案

(完整版)专升本数据库练习题及答案一.关系代数运算1.选择σ(1)查询年龄小于20岁的学生σsage<20(student)(2)查询学号为201215122的学生σsno=201215122(student)2.投影(1)查询学生姓名,和所在系same,sdept(student)(2)查询选修了2号课程的学生学号sno(σcno=‘2’2(student))SQL语句学生-课程数据库学生表:学生(学号,姓名,性别,年龄,所在系)课程表:课程(课程号,课程名,先行课,学分)学生选课表:选课(学号,课程号,成绩)二.创建数据库SQL1.创建数据库Create database 数据库名On( name =逻辑文件名,Filename=’物理文件名’,Size=初始文件大小,Maxsize=最大文件大小,Filegrowth=文件自动增量)Log on( name =逻辑文件名,Filename=‘物理文件名’,Size=初始文件大小,Maxsize=最大文件大小,Filegrowth=文件自动增量)例创建‘教务管理数据库’Create database 教务管理数据库On( name =教务管理_dat,Filename=‘E:\SQL\教务管理_dat.mdf’,Size=2,Filegrowth=1 )Log on( name =教务管理.log,Filename=‘E:\SQL\教务管理_log.ldf’,Size=5M,Filegrowth=10% )1.查看数据库属性1)使用sp_helpdb查看数据库信息:sp_helpdb [数据库名](2)使用sp_databases 查看可使用的数据库信息:sp_databases(显示所有可以使用的数据库名称和大小)(3)使用sp_helpfile查看数据库文件信息sp_helpfile [文件名]1.设置数据库选项Alter database 数据库名Set 选项例设置教务管理数据库自动收缩Alter database 教务管理数据库Set auto_shrink on (自动收缩)1.修改数据库大小Alter database 数据库名Add file 增加数据文件Add log file 增加日志文件Remove file 删除文件Modify file 修改文件()例 1.修改教务管理数据库,增加数据文件jwgl_dat1 Alter database 教务管理数据库Add file (Name=jwgl_dat1,Filename=‘E:\SQL\jwgl_dat1.ndf’,Size=2MB,Filegrowth=1MB )2.修改教务管理数据库Alter database 教务管理数据库Modify file (Name=jwgl_dat1,Size=5MB )2.删除教务管理数据库中次要数据文件jwgl_dat1 Alter database 教务管理数据库Remove file jwgl_dat11.数据库更名1)更改数据库名Alter database 数据库名Modify name = 新数据库名例将数据库test更名为mytestAlter database testModify name = mytest1)更改数据库的逻辑文件名Alter database 数据库名Modify file(Name=逻辑文件名,Newname=新逻辑文件名)例将数据库逻辑文件test更名为mytest Alter database mytestModify file(Name = test,Newname = mytest )GoAlter database mytestModify file(Name = test_log,Newname = mytest_log )1)更改数据库的物理文件名Alter database 数据库名Modify file(Name=逻辑文件名,Filename =‘新路径\操作系统文件名’)例将数据库物理文件test更名为mytest Alter database mytestModify file(Name=mytest,Filename =‘E:\sql\mytest.mdf’)GOAlter database mytestModify file(Name=mytest_log,Filename =‘E:\sql\mytest_log.ldf’)1.删除数据库Drop database 数据库名例删除数据库名为test和数据库sales Drop database test,sales1.数据库分离Sp_detach_db 数据库名1.数据库附加Create database 数据库名On (Filename=‘主文件的物理文件名’)For attach三.基本表操作1.创建表Create table 表名()例创建一个学生表Create table 学生表(学号char(6)primary key,姓名char(20)unique,性别char(2),年龄smallint,所在系char(20))1.修改表Alter table 表名Add 列名数据类型()//增加列(alter column 列名数据类型()//对原有的基础上修改列)(drop column 列名//对原有的基础上删除列,可一次删除多列)例1. 添加一新列电子邮箱char型长度20Alter table 学生表Add 电子邮箱char(20)例2. 修改学生表列电子邮箱数据类型长度为22Alter table 学生表alter column 电子邮箱varchar(22)例3.删除学生表的电子邮箱列Alter table 学生表drop column 电子邮箱3.删除表Drop table 表名例删除学生表Drop table 学生表四.数据更新1.插入数据InsertInto 表名()Values 值()例1 插入一行数据到学生表的学生InsertInto 学生表(学号,姓名,性别,年龄,所在系)Values (‘201215126’,‘张成民’,‘男’,18,‘计算机系’)1.修改数据Update 表名Set 列名=表达式Where 条件1)修改某元祖的值例将学生201215121的年龄改为22Update 学生表Set 年龄=22Where 学号=‘*********‘1)修改多个元祖的值例将所有学生年龄增加一岁Update 学生表Set 年龄=年龄+11)带子查询的修改语句例将计算机科学系全体学生成绩置零Update 选课表Set 成绩=0Where 学号in(select 学号From 学生表Where 所在系=‘计算机科学系’)1)修改表名Sp_rename 旧对象名,新对象名例课程表更名为课程信息表Sp_rename 课程表,课程信息表3.删除数据Deletefrom 表名Where 条件例将课程信息表中c程序设计课程信息删除DeleteFrom 课程信息表Where 课程名=‘c程序设计’五.使用约束1.非空约束(NOT NULL)例创建一个学生表使姓名,性别为非空约束学号为主键Create table 学生表(学号char(6)primary key,姓名char(20)NOT NULL,性别char(2)NOT NULL,年龄smallint,所在系char(20))1.唯一约束(UNIQUE)Create table 学生表(学号char(6)primary key,姓名char(20)UNIQUE,性别char(2)UNIQUE,年龄smallint,所在系char(20))1.Check约束(检查列值是否满足一个条件表达式)1.完整性约束命令子句Constraint 完整性约束条件名(包括非空主键唯一外键check约束等)约束条件例1创建一个学生表使性别只允许为‘男’或‘女’,年龄在20到30之间Create table 学生表(学号char(6)primary key,姓名char(20)UNIQUE,性别char(2)CHECK((性别=‘男’)or (性别=‘女’)),年龄smallint CHECK(年龄between 20 and 30),所在系char(20))2 利用T-SQL命令设置课程表中的考核方式只能取值‘考试’或‘考查’,学分的值为1-6之间Alter table 课程表with checkAdd constraint CK_课程表_1 check(考核方式in (‘考查’,‘考试’))Alter table 课程表with nocheckAdd constraint CK_课程表_2 check(学分between 1 and 6)1.主键约束(PRIMARY KEY)Create table 学生表(学号char(6)primary key,(在列定义后设置主键)姓名char(20)UNIQUE,性别char(2)UNIQUE,年龄smallint,所在系char(20))1.外键约束(FOREIGN KEY)Constraint 约束名FOREIGN KEY(列名)Reference 被引用表(列名)[on delete cascade(级联删除)|on update cascade(级联更新)]例创建选课表设置选课表的课程号为外键引用课程表课程号Create table 选课表(学号char(6)primary key,课程号char(11)Reference 课程表(课程号)on update cascade,成绩numeric(5,1))7.默认约束(DEFAULT)Constraint 约束名DEFAULT 常量表达式可在创建表中数据类型后直接加例修改课程表设置考核方式默认值为‘考试’Alter table 课程表Add constraint df_课程表_考核DEFAULT‘考试’)for 考核方式六.数据查询1.单表查询1)选择列查询例查询全体学生姓名学号Select 姓名,学号From 学生表1)查询全部列例查询全体学生姓名学号Select *From 学生表1)查询经过计算的值例查询全体学生姓名及出生年份Select 姓名,2017-年龄From 学生表1)消除取值重复的行(distinct)例查询选修了课程的学生学号结果取消重复行Select distinct 学号From 学生表1)查询满足条件的元祖(where子句)比较大小(> = < 等)例查询选修了课程为‘计算机’的学生学号结果取消重复行Select distinct 学号From 学生表Where 课程=‘计算机’确定查找范围(between and)例查询成绩为80-90的学生学号结果取消重复行Select distinct 学号From 选课表Where 成绩between 80 and 90确定集合(in)例查询成绩为80,90,100的学生学号结果取消重复行Select distinct 学号From 选课表Where 成绩in(80,90,100)字符匹配(like )%:任意长度的字符串_(下划线):任意单个字符例1查询所有姓刘的学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘刘%’2查询名字中第二个字是阳学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘_阳%’空值查询(is null/not null)例查询成绩为空的中第二个字是阳学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘_阳%’多重条件查询(and or in)例查询成绩为80以上的女同学的姓名学号结果取消重复行Select distinct 姓名,学号From 学生表,选课表Where 学生表.学号=选课表.学号And 成绩>=80 AND 性别=‘女’6)设置字段别名(as)表达式as 别名或字段别名= 表达式例查询学生姓名性别年龄Select 姓名as学生姓名,性别,datediff(year,出生日期,getdate())as年龄From 学生表或Select 学生姓名=姓名,性别,年龄=datediff(year,出生日期,getdate())From 学生表2.Order by子句(对查询结果默认升序(asc)降序(desc))例查询选修了3号课程的学生学号成绩结果按分数降序排列Select 成绩,学号From 选课表Where 课程号=‘3’Order by成绩desc2.聚集函数(count 统计个数,sum 求和,avg 求平均数,max 最大数,min 最小数)只能用于select,group by,having 子句中不能用于where条件句中例查询选修课程号为1的学生最高成绩Select max(成绩)From 选课表Where 课程号=‘1’2.Group by ...... having子句(功能为分组)例1.求各个课程号及相应的选课人数Select 课程号,count(学号)From 选课表Group by课程号2.查询选修了三门以上课程的学生学号Select 学号From 选课表Group by学号having count(*)> 3(having子句作用范围为Group by后)3.查询平均成绩大于等于90分的学生学号和平均成绩Select 学号avg(成绩)From 选课表Group by学号having avg(成绩)>=90七.多表查询1.表连接用where子句连接两个表Where 表一.列名(比较运算符>,=,<)表2.列名例查询每个学生及选修课程的情况(用到学生表,选课表)Select 学生表.*,选课表.*(如查询的属性在两个表不唯一则不用加表前缀)From 学生表,选课表where学生表.学号=选课表.学号1.多表连接例查询每个学生的学号,姓名,选修的课程名及成绩(用到学生表,课程表选课表)Select 学生表.学号,姓名,课程名,成绩(查询的属性在两个表不唯一则不用加表前缀)From 学生表,课程表,选课表where学生表.学号=选课表.学号and 课程表.课程号=选课表.课程号1.带in的子查询(嵌套查询)例查询与‘刘晨’在同一个系学习的学生的学号,姓名Select 学号,姓名,系名From 学生表Where系名in(Select 系名From 学生表Where姓名=‘刘晨’)1.带比较运算符的子查询(>,<,=,>=,<=,!=)例查询与‘刘晨’在同一个系学习的学生的学号,姓名Select 学号,姓名,系名From 学生表Where系名in(Select 系名From 学生表Where姓名=‘刘晨’)八.建立索引1.建立索引Create [unique(唯一)][clustered ( 聚集) ][nonclustered ( 非聚集)]Index 索引名On (表/视图)(列名[asc(升序)][desc(降序)])With [pad_index][fillfactor=填充因子][drop_existing]例在学生表上创建一个名为XS XM的非唯一性非聚簇索引索引关键字为姓名升序填充因子为50%Create nonclusteredIndex XS XMOn 学生表(姓名asc)With fillfactor=502.删除索引Drop index 表名.索引名九.视图1.定义视图1)建立视图Create view 视图名列名AsSelect(在视图后加上with check option子句以后对该视图进行增删改时则自动添加)例建立信息系学生的视图Create view 信息系学生AsSelect 学号,姓名,年龄From 学生表Where 系别=‘信息系’1)删除视图Drop view 视图名(如选择级联删除视图名后加cascade)例删除视图BT_S和视图IS_S1Drop view BT_SDrop view IS_S1(拒绝执行因为与另一个视图有连接所以后面加cascade)2.查询视图!同表查询唯一区别在于from中添加的为视图名!2.更新视图(指对视图进行增删改,由于对视图修改最后都归结于对表的修改所以修改视图数据=修改表数据)函数1、标量值create function函数名(@变量类型)returns返回值类型beginreturnend例:给专业名求男女比例CREATE FUNCTION某专业男女比例(@专业名varchar(20))RETURNS numeric(6,2)ASBEGINdeclare@man intdeclare@woman intselect@man=count(*)from学生表,专业表,班级表where学生表.学号=班级表.班号and班级表.专业=专业表.专业号and性别='男'and 专业名=@专业名select@woman=count(*)from学生表,专业表,班级表where学生表.学号=班级表.班号and班级表.专业=专业表.专业号and性别='女'and 专业名=@专业名return cast(@man as float)/cast(@woman as float)END执行select dbo.某专业男女比例('数据库')2、表值函数给班名和课程名求某班某课成绩单CREATE FUNCTION某班某课成绩单(@班名char(20),@课程名varchar(20))RETURNS TABLEASRETURN(select班名,学生表.学号,姓名,课程名,成绩from学生表,课程表,班级表,选课表where课程表.课程号=选课表.课程号and学生表.学号=选课表.学号and学生表.班号=班级表.班号and班名=@班名and课程名=@课程名)GO执行select*from dbo.某班某课成绩单('嵌入式班','java程序设计')3、CREATE FUNCTION某班平均函数(@班号char(5))RETURNS TABLEASRETURN(SELECt课程号,avg(成绩)平均成绩from选课表,学生表where学生表.学号=选课表.学号and班号=@班号group by课程号)GO调用select*from dbo.某班平均函数('1001')十.存储过程1.存储过程创建与执行(1)创建存储过程Create proc[edure] 存储过程名[ @参数数据类型[output(指明返回参数)] ]AsBeginSql语句[ ]End说明:存储过程可以带参数也可不带参数可以输入也可输出例1. 创建“学生名单”存储过程功能为输出所有学生名单Create procedure 学生名单AsBeginSelect 学号,姓名From 学生表End例2.创建“某班学生名单”存储过程其功能查看某个班级学生名单结果按学号排序Create procedure 某班学生名单@班名varchar (20)AsBeginSelect 学号,姓名From 学生表,班级表Where 学生表.班号= 班级表.班号and班名=@班名Order by 学号End例3.创建“查询学生”存储过程功能根据学号查询学生姓名年龄Create procedure 查询学生@学号char(11),@姓名nchar(5)output,@年龄int outputAsBeginSelect @姓名= 姓名,@年龄=datediff(year,出生日期,getdate())From 学生表Where 学号=@学号End(2)执行存储过程Execute 存储过程名@参数=[值]例1 查看学校学生名单Execute 学生名单例2 查看计算机应用071班学生名单Execute 某班学生名单@班级=‘计算机应用071班’例3 查看学号为“***********”的学生姓名年龄declare@姓名nchar(5)declare@年龄intexec查询学生'15999015',@姓名output,@年龄output print@姓名print@年龄查看存储过程(1)查看存储过程的定义Exec sp_helptext “”(2)查看存储过程的参数和数据类型信息Exec sp_help “ ”(3)查看存储过程的依赖关系Exec sp_depends “ ”2.修改存储过程Alter proc[edure] 存储过程名[ @参数数据类型[output(指明返回参数)] ]AsBeginSql语句[ ]End例修改“学生名单”存储过程结果按学号排序alter procedure 学生名单AsBeginSelect 学号,姓名From 学生表Order by 学号End2.删除存储过程Drop procedure 存储过程名例将存储过程“学生名单”删除Drop procedure 学生名单十一.触发器1.创建触发器Create trigger 触发器名On 表名/视图名{ for / after / instead of }{ [ insert ] [ update ] [ delete ] 指定表/视图执行哪条语句时激活触发器关键字} AsSql 语句例1.对学生表创建插入触发器当有新纪录插入表时更新班级表中相应班级人数Create trigger 增加学生On 学生表after insertAsBeginSet nocount onIf update(班级)BeginUpdate 班级表Set 学生人数=学生人数+1From insertedWhere 班级表.班号=inserted.班级EndEnd例2.对学生表创建删除触发器当删除一条纪录时减少班级表中相应班级人数Create trigger 删除学生On 学生表。
数据库原理(专升本)

数据库原理(专升本) 单选题1. 层次模型不能直接表示_____。
(A) 1:1关系(B) 1 :m关系(C) m :n关系(D) 1 :1和1 :m关系标准答案:C2. 在数据库系统中,系统故障造成_ ____。
(4分)(A) 硬盘数据丢失(B) 软盘数据丢失(C) 内存数据丢失(D) 磁盘丢失标准答案:C3. 关系r和s自然连接时,能够把r和s原该舍弃的元组放到结果关系中的操作是_____。
(4分)(A) 左外连接(B) 右外连接(C) 外部并(D) 外连接标准答案:D4. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是_____。
(4分)(A) DBS包括DB和DBMS(B) DDMS包括DB和DBS(C) DB包括DBS和DBMS(D) DBS就是DB,也就是DBMS标准答案:A5. 要求关系的元组在主属性上不能为空值,这是_____约束。
(4分)(A) 实体完整性(B) 参照完整性(C) 用户自定义(D) 用户操作标准答案:A6. 在下面列出的数据模型中,___ __是概念数据模型。
(4分)(A) 实体、联系模型(B) 层次模型(C) 网状模型(D) 关系模型标准答案:A7. 在关系模式R(A,B,C)中,F= {(A,B) →C,B→C},则R最高可达到_____。
(4分)(A) BCNF(B) 3NF(C) 2NF(D) 1NF标准答案:D8. 数据库的三级模式体系结构的划分,有利于保持数据库的_____。
(4(A) 数据独立性(B) 数据安全性(C) 结构规范化(D) 操作可行性标准答案:A填空题9. 在ER图中,矩形框表示___(1)___ ,菱形框表示___(2)___ 。
(4分)(1).标准答案:实体类型(2).标准答案:联系类型10. 在需求分析中,___(3)___是各类数据描述的集合,它包括数据项、数据结构、数据流、数据存储和数据加工过程等描述。
成人教育专升本《数据库原理》期末考试复习题及参考答案

专升本《数据库原理》一1.DB、DBS、DBMS三者之间的关系是_ _ ___。
A)DB包括DBS和DBMS B)DBS包括DB和DBMSC)DBMS包括DBS和DB D)DBS与DB和DBMS无关2.为数据表创建索引的目的是_ _ ___。
A)归类B)创建主键C)准备创建视图D)提高查询的检索性能3.数据安全性主要指_ _ ___。
A)数据的正确性、有效性、相容性B)用户数据与程序的独立性C)保护数据以防止不法的使用D)防止并发程序之间的干扰4.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是_ _ ___。
A)实体完整性、参照完整性、用户自定义完整性B)数据结构、关系操作、完整性约束C)数据增加、数据修改、数据查询D)外模式、模式、内模式5.顾客可到多个商场购物,商场有很多顾客购物,商场与顾客之间的联系方式是_ ____。
A)1:1 B)1:n C)m:n D)m:16.假如采用关系数据库系统来实现应用,在数据库设计的_ _ ___阶段,需要将E-R模型转换为关系数据模型。
A)概念设计B)物理设计C)逻辑设计D)运行阶段7.事务的原子性是指_ _ ___。
A)事务中包括的所有操作要么都做,要么都不做B)事务一旦提交,对数据库的改变是永久的C)一个事务内部的操作对并发的其他事务是隔离的D)事务必须使数据库从一个一致性状态变到另一个一致性状态8.在E—R图中,用来表示联系的图形是_ _ ___。
A)矩形B)四边形C)菱形D)椭圆形9.下列_ _ ___运算不属于关系代数的基本运算。
A)连接B)笛卡尔积C)相减D)投影10.下列关于ALTER TABLE语句叙述错误的是_ _ ___。
A)可以添加字段B)可以删除字段C)可以修改字段名称D)可以修改字段数据类型11.在Transact-SQL的模式匹配中,使用_ _ ___符号表示匹配任意长度的字符串。
A)* B)- C)% D)#12.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是_ _ ___。
数据库系统概论专升本模拟试题(含参考答案)

数据库系统概论模拟试题(含参考答案)一、单选题(共80题,每题1分,共80分)1、SQL语言是()语言。
A、网络数据库B、关系数据库C、非数据库D、层次数据库正确答案:B2、在WHERE语句的条件表达式中,与零个或多个字符进行匹配的通配符是()。
A、_B、*C、%D、?正确答案:C3、当两个关系没有公共属性时,其自然连接表现为( )。
A、笛卡尔积B、等值连接C、结果为空D、出错正确答案:A4、已知关系R(A,B,C)、S(D,E,A)其中R的主码是A,S的主码是E,S中的A与R中的A相对应。
S中的A被称为( )。
A、外码B、主码C、内码D、候选码正确答案:A5、设关系R和S的结构相同且各有100个元组,则R和S的并操作结果的元组数为( )。
A、200B、小于等于100C、100D、小于等于200正确答案:D6、下列()是对触发器的描述。
A、SQL语句的预编译集合B、当用户修改数据时,一种特殊形式的存储过程被自动执行C、它根据一或多列的值,提供对数据库表的行的快速访问D、定义了一个有相关列和行的集合正确答案:B7、有关三个世界中数据的描述术语,“实体”是()。
A、对现实世界数据信息的描述B、对计算机世界数据信息的描述C、对三个世界间相互联系的描述D、对信息世界数据信息的描述正确答案:D8、现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对—种书借多本,则该关系模式的码是()。
A、书号+读者号B、书号+读者号+借期C、读者号D、书号正确答案:B9、数据库系统实现整体数据的结构化,主要表现在以下几个方面,除了()A、数据的最小存取单位是数据项。
B、数据可以变长。
C、数据的结构用数据模型描述,无需程序定义和解释。
D、数据库和应用程序一一对应。
正确答案:D10、数据库系统并发控制的主要方法是采用()机制。
A、不加任何控制B、改为串行C、封锁D、拒绝正确答案:C11、数据库概念设计是面向企业或组织中的数据需求的。
沈阳大学2023年数据库原理专升本及答案

数据库原理专升本一、判断题(每小题2.5 分,共 100分)()1、高版本Access创建的数据库可以转换为低版本,但部分功能会受限。
【答案】正确【解析】无()2、数据库丢失当前日志文件时可以通过设置隐含参数"_allow_resetlogs_corryption"强制启动数据库。
【答案】正确()3、数据泵的导出/导入模式有整个数据库模式、表空间模式、用户模式和表模式四种。
【答案】正确()4、MySQL是基于层次模型的数据库【答案】错误()5、文本型的默认字段大小为50【答案】错误【解析】文本型默认字段大小为255.()6、MySQL交互操作过程中使用的语言是TSQL语言。
【答案】错误()7、truncate是DDL操作,不能 rollback。
【答案】正确()8、一个关系就是一个实体,代表了一个二维表。
【答案】错误【解析】一个关系就是一张规范化的二维表,相当于一个实体集。
()9、一个表可以创建多个主键吗?()10、在关系模型中,关系的码(键)只能是一个属性【答案】错误【解析】可以有多个,主码只能有一个()11、如果两个关系没有公共属性,那么其自然联接操作结果为空关系。
【答案】错误【解析】按照笛卡尔积操作()12、与主键不同,惟一键可以是 null 值。
【答案】正确()13、select 16%4, 的执行结果是: 0 吗?【答案】正确()14、多表查询不需要设定表间的联接条件。
【答案】错误()15、在SQL对应的三级模式中,关系模式对应基本表,关系子模式对应视图,存储模式对应存储文件。
【答案】正确()16、PL/SQL Developer的SQL窗口和命令窗口不能同时运行。
【答案】错误【解析】PL/SQL Developer提供多线程环境,SQL窗口和命令窗口可以同时运行。
()17、按照索引记录的存放位置,索引可以分为聚集索引和非聚集索引。
【答案】正确()18、如果事务结束,就使用SQL 语句的COMMIT,使数据恢复到开始之前的状态。
数据库专升本试题及答案

数据库专升本试题及答案一、单项选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪一项?A. 数据定义B. 数据操纵C. 数据维护D. 数据备份答案:D2. 关系型数据库管理系统中,关系是指什么?A. 数据表B. 数据库C. 数据库文件D. 数据库服务器答案:A3. 在SQL中,用于创建新表的语句是?A. CREATE TABLEB. CREATE DATABASEC. CREATE INDEXD. CREATE VIEW答案:A4. 数据库设计中,实体与实体之间的关系通常分为几种?A. 1种B. 2种C. 3种D. 4种答案:C5. 以下哪个选项不是数据库的完整性约束?A. 实体完整性B. 参照完整性C. 数据完整性D. 用户定义完整性答案:C6. 在关系型数据库中,一个表的主键可以包含多个字段吗?A. 是B. 否答案:A7. 数据库中的视图是什么?A. 存储在数据库中的物理数据B. 基于SQL查询的虚拟表C. 数据库中的索引D. 数据库中的存储过程答案:B8. 在数据库中,事务的ACID属性指的是什么?A. 原子性、一致性、隔离性、持久性B. 原子性、一致性、隔离性、可扩展性C. 原子性、一致性、独立性、持久性D. 原子性、一致性、隔离性、可用性答案:A9. 数据库的规范化是为了解决什么问题?A. 数据冗余B. 数据备份C. 数据安全D. 数据存储答案:A10. 在数据库中,索引的作用是什么?A. 提高查询速度B. 降低存储空间C. 提高数据安全性D. 增加数据完整性答案:A二、多项选择题(每题3分,共15分)1. 数据库管理系统(DBMS)的组成部分包括以下哪些?A. 数据定义语言(DDL)B. 数据操纵语言(DML)C. 数据控制语言(DCL)D. 数据查询语言(DQL)答案:ABC2. 在关系型数据库中,以下哪些操作可以修改表结构?A. ADD COLUMNB. DROP COLUMNC. RENAME COLUMND. ALTER COLUMN答案:ABCD3. 数据库的并发控制机制包括哪些?A. 锁定机制B. 事务日志C. 乐观并发控制D. 悲观并发控制答案:ABCD4. 数据库的存储结构包括以下哪些?A. 物理存储结构B. 逻辑存储结构C. 索引结构D. 数据库文件答案:ACD5. 数据库的恢复技术包括以下哪些?A. 事务日志B. 数据备份C. 镜像D. 快照答案:ABC三、简答题(每题5分,共20分)1. 请简述数据库管理系统(DBMS)的主要功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、题型及分值1、填空题(10小题,10分)2、选择题(10小题,20分)3、问答与分析题(4小题,30分)4、综合题(2小题,40分)二、知识要点(一)关系模型的基本概念【例1】学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是_____________。
【例2】层次模型不能直接表示()。
A.1:1联系 B.1:n联系C.m:n联系 D.1:1和1:n联系【例3】在三大传统的数据模型中,具有严格的数学理论基础的是________模型。
【例4】数据库的数据独立性包括逻辑独立性和___________。
(二)关系代数运算【例1】五种基本关系代数运算是( A )。
A.∪,-,×,π和σ B.∪,-,∞,π和σC.∪,∩,×,π和σ D.∪,∩,∞,π和σ【例2】在关系代数中,除法运算由基本运算符( C )组成。
A、∪,-,π和σB、-,∞和πC、-,×和πD、∪,∞,π和σ【例3】设关系R和S,R∩S的运算等价于( B )。
A.S-(R-S) B.R-(R-S)C.(R-S)∪S D.R∪(R-S)【例4】在关系代数中,连接运算∞由基本运算符( C )组成。
A、∪,-,π和σB、-和πC、×和σD、∪,π和σ【例5】设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为_________,元组个数为___________。
【例6】设有如下关系:关系代数表达式R÷S的运算结果是______________。
【例7】已知有如下三个关系STUDENT(学号,姓名,性别,年龄,专业)GRADE (学号,课程号,成绩)COURSE(课程号,课程名,学分,课时)现有如下表达式:π学号,姓名(STUDENT)(π学号,课程号(GRADE) ÷π课程号(COURSE)))。
请用汉语句子写出该表达式表达的查询,并写出与该表达式对应的SQL语句。
答:(1)选修了全部课程的学生的学号和姓名。
(2)select sno,snameFrom studentWhere not exists(select *From courseWhere not exists(select *From scWhere sno = student.sno and cno=o))(三)数据库的完整性1、关系的三类完整性约束。
2、触发器。
【例1】关系模式的三类完整性约束条件分别是______________、参照完整性约束和用户定义完整性约束。
【例2】在SQL Server中,在视图上可以定义_________类型的触发器。
【例3】试举例说明在视图上创建instead of 触发器能够使得视图具备可更新功能。
答:如果一个视图涉及到计算列,那么该视图为不可更新视图。
/*创建books表*/create table books(bookKey int identity(1,1),bookName nvarchar(10) not null,Color nvarchar(10) not null,ComputedCol as (bookName + Color),Pages int)/*在books表上创建视图,包含基表中所有列*/create view uv_booksas select bookKey,bookName,Color,ComputedCol,Pagesfrom books视图uv_books包含计算列,为不可更新视图。
/*在视图uv_books上创建instead of 触发器*/create trigger tr_uv_bookson uv_booksinstead of insertasbegininsert into booksselect bookName,Color,Pages from insertedend/*往视图uv_books上插入一行代码,完成对基表的插入*/insert into uv_books(bookKey,bookName,Color,ComputedCol,Pages)values(4,'数据库原理','黄色','白色',200)从而验证了视图uv_books为可更新视图。
【例4】已知S(sno,sname,ssex,sdept,sage),SC(sno,sname,cno,grade)。
请编写一个触发器,当S表中的sname字段值发生变化时,SC对应的sname字段值也相应改变。
create trigger trgInSon Safter updateasbeginif update(sname)beginupdate SCset sname = (select sname from inserted)where sno = (select sno from inserted )endend(四)SQL语句1、数据查询及更新2、索引3、视图4、存储过程、游标【例1】有职工表EMP和部门表DEPT如图所示,其中有下划线的属性为主键,有波浪线的属性为外键。
下面操作不能正确执行的是()A.检索部门号为“D05”的职工号B .将EMP 表中职工“李路”的部门号改为空值C .删除职工“崔浩”的记录D .在EMP 表中插入记录(“E18”,“D05”,“王莹”)EMPDEPT【例2】 已知两个关系如下:假设R 的主键是A ,S 的主键是D ,在关系S 的定义中包含外键子句: “FOREIGN KEY (A ) REFERENCES R(A) ”, 下列SQL 语句不能成功执行的是( )A .DELETE FROM R WHERE A =2B .DELETE FROM R WHERE A =3C .DELETE FROM S WHERE A =1D .DELETE FROM S WHERE A =2【例3】什么是存储过程?存储过程有哪些优点?答:存储过程是用户完成某项特定任务的一组预编译好的SQL 语句。
优点:(1)模块化编程;(2)快速执行;(3)减少网络通信量。
(4)预防SQL 语句的注入攻击。
【例4】什么是物化视图?试分析物化视图与普通视图的区别。
答:物化视图指的是存放SQL 语句对应查询结果的视图。
区别:(1)普通视图只存放视图的定义,物化视图存放的是实际的查询数据; (2)使用物化视图的查询效率高于普通视图; (3)物化视图需要占用较大的存储空间; (4)当基表中的数据发生变化时,需要刷新物化视图。
【例5】一个SQL 语句原则上可产生或处理一组记录,而主语句一次只能处理一个记录,为此必须协调两种处理方式,这是通过使用___游标__机制来解决的。
RS(五)关系数据理论1、函数依赖、完全函数依赖、部分函数依赖、传递函数依赖2、三大范式3、反范式设计【例1】在关系数据库中,从关系规范化的意义看,如果关系R中的非主属性对码有传递函数依赖,那么R最高是______范式。
【例2】设有关系模式R(A,B,C,D),其上的函数依赖集合F={B→A,BC→D},则R最高是_____范式。
【例3】在关系模式:选课(学号,课程号,考试次数,成绩)中,假设一个学生可以参加多门课程的多次考试。
该关系模式的码是__________。
【例4】关系数据库的规范化理论主要解决的问题是()。
A、如何构造合适的数据逻辑结构B、如何构造合适的数据物理结构C、如何构造合适的应用程序界面D、如何控制不同用户的数据操作权限【例5】一个只满足1NF的关系模式,可能存在哪些方面的问题?答:数据冗余、插入异常、删除异常和修改异常。
【例6】关系模式R(球员编号,篮球比赛场次,进球数,球队名,队长)用来表示我校举行的各系篮球比赛。
规定每个球队只有一名队长。
(1)试说明R不是2NF的理由,并将R分解为2NF的模式集。
答:关系R的码是(球员编号,篮球比赛场次)。
该关系的函数依赖集如下:{(球员编号,篮球比赛场次)→进球数,球员编号→球队名,球队名→队长}即存在非主属性“球员编号”、“队长”对码的部分函数依赖,因此R不是2NF。
将R分解为2NF后的结果如下:R1:(球员编号,篮球比赛场次,进球数)R2:(球员编号,球队名,队长)(2)将R分解为3NF模式集。
答:R1:(球员编号,篮球比赛场次,进球数)R2:(球员编号,球队名)R3:(球队名,队长)【例7】就下图给出的关系R,回答问题:(1)关系R为几范式?为什么?(2)是否存在删除操作异常?若存在,则说明是在什么样情况下发生的?(3)将它分解成高一级范式,分解后的关系是如何解决分解前可能存在的删除异常问题的?【例8】已知点评网的后台数据库中存在以下两个关系:帖子表(帖子ID,帖子标题,会员ID),会员表(会员ID,会员昵称,会员等级)。
请回答以下问题:(1)已知“帖子ID”为自增列字段,请写出查询最新的10个帖子的标题以及会员昵称的查询语句。
答:SELECT TOP 10 N.帖子标题, U.会员昵称,N.会员IDFROM 帖子表 N INNER JOIN 会员表 UON N.会员ID=U.会员IDORDER BY N.帖子ID DESC(2)为了提高第一小题的SQL语句的查询速度,您会如何重新设计数据库表?并说明原因。
答:当帖子表和会员表中涉及到大量记录时,上述的查询难以满足用户对于网页速度的要求。
为了提高查询速度,考虑“反范式设计”,即在帖子表里面添加冗余字段“会员昵称”,这样就可以通过下面的语句达到同样的查询目的:SELECT TOP 10 帖子标题, 会员昵称,会员IDFROM 帖子表ORDER BY 帖子ID DESC【例9】请简述范式对查询的影响。
答:对查询的利:(1)减少数据冗余,数据更为紧凑;(2)表的行数少,排序、索引更为迅速;(3)由于多表,多个聚集索引成为可能。
对查询的弊:使得查询数据分离在多张表中,增加了查询的复杂性。
(六)数据库设计【例1】概念结构设计阶段得到的结果是()。
A.数据字典描述的数据需求 B. E-R图表示的概念模型C. 某个DBMS所支持的数据模型D. 包括存储结构和存取方法的物理结构【例2】单个用户使用的数据视图的描述称为()A. 外模式B. 概念模式C. 内模式D. 存储模式【例3】在合并分E-R时,需完成消除命名冲突的工作。
使用_视图__机制可以重新定义某些属性名,使其与用户习惯一致。
【例4】试举例说明存储过程能够在一定程度上预防SQL语句的注入攻击问题。
答:假设数据库中有一个关系student(sno,sname,sage,ssex)。
在连接数据库后,使用字符串拼接的方式查询指定学号的学生信息,其中txtSno.Text 代表用户往文本框中输入的学号。