数据库复习
(附答案)数据库期中考试复习题目汇总

《数据库概论》课程期中复习题目汇总一、为某百货公司设计一个E-R模型。
百货管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。
实体类型“商店”的属性有:商店编号,店号,店址,店经理。
实体类型“商品”的属性有:商品编号,商品名,单价,产地。
实体类型“职工”的属性有:职工编号,职工名,性别,工资。
在联系中应反映出职工参加某商店工作的开始时间,商店销售商品的有销售量。
试画出反映商店、商品、职工实体类型及联系类型的ER图,并将其转换成关系模式集。
二、关系代数设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)说明:S#——学号SNAME——学生姓名AGE——年龄SEX——性别C#——课程号CNAME——课程名TEACHER——教师GRADE——成绩试用关系代数写出查询语句。
(1)检索LIU老师所授课程的课程号、课程名。
(2)检索年龄大于23岁的男学生的学号与姓名。
(3)检索学号为S3学生所学课程的课程名与任课教师名。
(4)检索至少选修LIU老师所授课程中一门课程的女学生的姓名。
(5)检索W ANG同学不学的课程号。
(6)检索至少选修两门课程的学生学号。
(7)检索全部学生都选修的课程的课程号与学生学号。
(8)检索选修课程包含LIU老师所授课程的学生学号。
(用∞代表自然连接):(1)πC#,CNA ME(σTEA CHER='LIU'(C))(2)πS#,SNAME(σAGE>'23'∧SEX='男'(S))(3)πCNA ME,TEACHER(σS#='S3'(SC∞C))(4)πSNAME(σSEX='女'∧TEA CHER='LIU'(S∞SC∞C))(5)πC#(C)-πC#(σSNAME='WANG'(S∞SC))(6)πS#(σ1=4∧2≠5(SC×SC)) (SC自乘之后,同一个学号下两个课程号不同的元组)(7)πC#,S#(SC∞(πS#,C#(SC)÷πS#(S))))(8)πS#(σTEA CHER='LIU'(S∞SC∞C))三、SQL语句(1)1、建立一个数据库和五张表的表结构。
数据库复习题

这份是我们的题库,红色字体是我们考过的题,考试的填空和选择一般都是书上学过的,所以在这份题库里,若是碰到那些很奇怪的题目你可以直接无视,一般考不到。
(当年行知的人说的,但是我们考的时候里面的题目还是蛮多的,老师给分不低的,主要是语句要会写,单选什么的课后习题里有挺多考到的。
)一、设计题1某高校为加强信息化管理,准备设计与开发一个学生管理信息系统。
该系统主要管理的对象是学生、班级、课程和专业。
需存储的信息包括:●学生:包括学号、姓名、性别和年龄等信息。
●班级:包括班级号和班级名等信息。
●课程:包括课程号、课程名、学分等信息。
上述各对象间的联系如下:●每个学生都属于一个班级,而一个班级可以有多个学生;●每个班级属于一个专业,一个专业可以有多个班级;●每个学生可以修读若干门课程,每门课程可以有多个学生修读;●学生修读某门课程必须参加改门课程的结业考试,需记录考试成绩。
1、根据上述信息需求,设计“学生管理系统”的E-R模型2、将所设计的E-R模型转化成相应的关系数据库模型3、使用标准SQL语言中的DDL定义上述关系数据库模型的各个关系模式1、E-R模型图(实体各2分和联系各1分,联系类型共1分)2、相同关键字关系模式被合理合并后的关系模式(每个模式2.5分)学生(学号,姓名,性别,年龄,班级号)课程(课程号,课程名,学分)班级(班级号,班级名)修读(学号,课程号)考试(学号,课程号,成绩)修读和考试可以合并成选课(学号,课程号,成绩)3、SQL定义(每个关系模式2分)create table 学生(学号char(6) not null primary key,姓名varchar(6) not null ,性别char(6),年龄smallint,班级号char(6) foreign key references 班级(班级号))create table 课程(课程号char(6) not null primary key,课程名varchar(20) not null,学分float)create table 班级(班级号char(6) not null primary key,班级名char(10) not null)create table 选课(学号char(6) not null foreign key references 学生(学号),课程号char(6) not null foreign key references 课程(课程号),成绩float,primary key(学号,课程号))设计题2某网络商店平台涉及两个实体类型。
《数据库原理及应用》总复习题

《数据库原理及应用》总复习题《数据库原理及应用》总复习题一、单项选择题1、数据库系统的核心是。
A )数据库 B)数据库管理系统C)操作系统 D)文件答案:B2、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。
A )DBS包括DB和DBMS B)DBMS包括DB和DBSC)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS 答案:A3、在数据管理技术的发展过程中,数据独立性最高的是阶段。
A )数据库系统 B)文件系统 C)人工管理 D)数据项管理答案:A4、数据库系统是数据库、数据库管理系统、应用系统、和用户构成。
A )DBMS B)DB C)DBS D)DBA 答案:D5、文字、图形、图像、声音、学生的档案记录、货物的运输情况等,这些都是。
A )DATA B)INFORMATION C)DB D)其他答案:A6、是长期存储在计算机内有序的、可共享的数据集合。
A )DATA B)INFORMATION C)DB D)DBS 答案:C7、是位于用户与操作系统之间的一层数据管理软件。
数据库在建立、使用和维护时其统一管理、统一控制。
A )DBMS B)DB C)DBS D)DBA 答案:A8、概念设计的结果是 A)一个与DBMS相关的要领模型 B)一个与DBMS无关的概念模型 C)数据库系统的公用视图 D)数据库系统的数据字典答案:B9、 E-R方法的三要素是 A)实体、属性、实体集 B)实体、键、联系 C)实体、属性、联系 D)实体、域、候选区答案:C10、要保证数据库的数据独立性,需要修改的是 A)模式与外模式 B)模式与内模式 C)三级模式之间的两层映射 D)三级模式答案:C11、描述数据库全体数据的全局逻辑结构和特性的是 A)模式B)内模式 C)外模式 D)全模式答案:A12、在数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的阶段是I、人工管理阶段 II、文件系统阶段III、数据库阶段A)I 和 II B)只有 II C)II 和 III D)只有 I 答案:D13、下列四项中,不属于数据库系统特点的是 A)数据共享B)数据完整性 C)数据冗余度高 D)数据独立性高答案:C14、应用数据库的主要目的是为了 A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题 D)解决数据量大的问题答案:C15、如果一个班只有一个班长,且一个班长不能同时担任其他班的班长,班和班长两个实体之间的联系属于。
数据库期末复习题(学生)

数据库原理与应用教程复习题(一)一、填空题(每空1分,共10分)1.数据库系统的核心是___ __。
2.在关系模型中,实体以及实体间的联系都是用______来表示的。
3.设关系模型R(A,B,C),F是R上的函数依赖集,F={A→B,C→B},则R的候选码为_________。
4.层次模型用“树结构”来表示数据之间的联系,网状模型用“_________” 来表示数据之间的联系。
5.SQL Server中,一个简单的数据库可以只有一个_________文件和一个日志文件。
6.聚集索引和非聚集索引的存储结构都采用____________索引结构。
7.一个事务必须具有的四个属性是原子性、一致性、__________和持久性。
8.在T-SQL中,查询表中数据时,可用___________关键字滤掉重复行。
9.调用标量函数时必须提供至少由两部分组成的名称,即________. 函数名。
10.触发器是当数据库服务器中发生数据操作语言事件时会自动执行的存储过程。
二、选择题(每小题1分,共20分)1、数据管理的发展不包括下面哪个阶段()(A)文件系统(B)数据库系统(C)人工管理(D)统一管理2、一个学生可以同时借阅多本书,一本书只能由一个学生借阅,学生和图书之间是什么样的联系()(A)一对一(B)一对多(C)多对多(D)以上全不是3、如果事务1将数据库中的A值从200改为300,事务2读A值为300,事务1又将刚才的操作撤销,A值恢复为200,那么事务2读取了“脏”数据。
这种情况是由于数据库保护中的那方面不当而引起的()(A)并发控制 (B)完整性约束(C)安全性控制(D)数据库的恢复4、在关系模型中,“元组”是指( )(A)表中的一行(B)表中的一列(C)表中的一个数据(D)表中的一个成分5、有学生、选修和课程三个关系,学生S(学号,姓名,性别….),课程C(课程号,课程名),选修SC(学号,课程号,成绩)。
SQLServer数据库技术复习

S Q L S e r v e r数据库技术复习LELE was finally revised on the morning of December 16, 2020《SQL Server数据库技术》期末复习题型一:一、单项选择题(每小题2分,共30分)二、填充题(15分)三、简答题(每题5分,共25分)四、程序设计题(每题15分,共30分)题型二:一、单项选择题(每小题2分,共30分)二、填充题(10分)三、判断题(每小题1分,共10分)四、简答题(每题5分,共20分)五、程序设计题(每题15分,共30分)1. SQL Server 2000是一个(C)的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是2. DTS 是一个简称,它的全称是(B)。
A. 数据运输系统B. 数据传输服务C. 数据库传输系统D. 数据库运输服务3. SQL Server 2000 采用的身份验证模式有(D)。
(A)仅Windows身份验证模式(B)仅SQL Server身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式4. SQL 语言按照用途可以分为三类,下面选项中哪一种不是的:(C )(A)DML (B)DCL (C)DQL(D)DDL5. 在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是(B)(A) * (B)%(C)- (D)6. 下列哪个数据库记录了SQL Server 2000的所有系统信息(A )A. masterB. modelC. pubsD. msdb7. 以下哪种类型不能作为变量的数据类型(C)。
(A)text (B)ntext (C)table(D)image8. 下面不属于数据定义功能的SQL语句是:(C)TABLE DATABASE TABLE9. 如果希望完全安装SQL Server,则应选择( A)。
A.典型安装B. 最小安装C. 自定义安装D. 仅连接10. 打开要执行操作的数据库,应该用哪个SQL命令(A)A. USEB. GOC. EXECD. DB1. C1、下面仅存在于服务器端的组件是:( A)A、服务管理器B、企业管理器组件C、查询分析器组件D、导入导出组件2、下面描述错误的是(B )。
最新最全数据库基础练习题复习及答案解析完整版.doc

第一章习题一、单项选择题1.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。
I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I3. 下列四项中,不属于数据库系统特点的是(C)。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高4. 数据库系统的数据独立性体现在(B)。
A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构5. 要保证数据库的数据独立性,需要修改的是(C)。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式6. 要保证数据库的逻辑数据独立性,需要修改的是(A)。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C),它是模式的逻辑子集。
A.模式B. 物理模式C. 子模式D. 内模式8. 下述(B)不是DBA数据库管理员的职责。
A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计9. 常见的数据模型有三种,它们是(B)A 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录10. 在E-R图中,用来表示属性的图形是(B)A 矩形B 椭圆形C 菱形D 平行四边形二、填空题1. 描述数据库全体数据的全局逻辑结构和特性的是_____模式______。
2. ____数据的物理独立性__________是指数据库的物理(存储)结构改变时,尽量不影响整体逻辑结构、用户的逻辑结构以及应用程序。
数据库复习大纲及答案
数据库复习⼤纲及答案第⼀章绪论1.数据的语义数据的解释是对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的2.数据库的定义数据库是长期储存在计算机内,有组织的,可共享的⼤量数据的集合。
数据库中的数据按⼀定的数据模型组织,描述和储存,具有较⼩的冗余度,较⾼的数据独⽴性和易拓展性,并可为各种⽤户共享。
概括的讲,数据库具有永久储存,有组织和可共享三个基本特点3.DBMS的定义、功能定义:数据库管理系统(DBMS)是位于⽤户与操作系统之间的⼀层数据管理软件。
功能(5点):1.数据定义功能2.数据组织,储存和管理3.数据操控功能4.数据库的事务管理和运⾏管理 5.数据库的建⽴和维护功能4.数据库系统的组成组成:数据库,数据库管理系统,应⽤程序和数据库管理员5.数据管理技术的三个阶段1.⼈⼯管理阶段2.⽂件系统阶段3.数据库系统阶段6.数据库系统的特点1.数据结构化(最重要)2.数据的共享性⾼,冗余度低且易扩充3.数据独⽴性⾼(数据变化,程序不变) 4.数据由数据库管理系统统⼀管理和控制数据控制功能:1.数据的安全性保护2.数据的完整性检查3.并发控制4.数据库恢复7.数据模型的类型第⼀类:概念模型第⼆类:逻辑模型和物理模型8.概念模型的基本概念和表⽰⽅法基本概念:1.实体2.属性3.码 4.实体型 5.实体集6.联系表⽰⽅法:实体-联系⽅法该⽅法⽤E-R图来描述现实世界的概念模型,E-R法也称E-R模型9.数据模型的组成要素(三要素)重点1.数据结构:数据结构描述数据库的组成对象以及对象之间的联系2.数据操作:数据操作是指对数据库中的各种对象(型)的实例(值)允许执⾏的操作的集合,包括操作及有关的操作规则。
数据库主要有查询和更新(包括插⼊,删除,修改)3.数据的完整性约束条件:数据的完整性约束条件是⼀组完整性规则,它保障了数据的正确,有效和相容。
10.常⽤的逻辑数据模型a.层次模型b.⽹状模型c.关系模型11.关系模型的基本术语a.关系:⼀个关系对应通常说的⼀张表(⼆维表)b.元组:表中的⼀⾏即为⼀个元组c.属性:表中的⼀列即为⼀个属性d.码:也称码键,表中的某个属性组,它可以确定⼀个元组,如学号e.域:域是⼀组具有相同数据类型的值的集合。
数据库复习资料含简答题答案
数据库复习资料一、选择题:1.信息的三个领域是。
A.现实世界.信息世界和机器世界B.事物.对象和性质C.实体.对象和属性D.数据.记录和字段2. 是长期存储在计算机内部有组织,可共享的数据集合。
A.数据库管理系统B.数据库系统C.数据库D.文件组织3.在数据库系统阶段,数据是。
A.有结构的B.无结构的C.整体无结构,记录内有结构D.整体结构化4. 是属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。
A.数据模型B.概念模型C.物理模型D.关系模型5.SQL语言属于。
A.关系代数语言B.元组关系演算语言C.域关系演算语言D.具有关系代数和关系演算双重特点的语言6.实体完整性要求主属性不能取空值,这一点可以通过来完成。
A.定义外码B.定义主码C.用户定义的完整性D.由关系系统自动7.集合R和S的差表示成。
A.{t|t∈R∨t∈S}B.{ t|t∈R∧t¬∈S }C.{ t|t∈R∧t∈S }D.{ t∈R∨t¬∈S }8.SQL语言具有功能。
A.关系规范化.数据操纵.数据控制B.数据定义.数据操纵.数据控制C.数据定义.关系规范化.数据控制D.数据定义.关系规范化.数据操纵9.规范化理论是为了解决关系数据库中的问题而引入的。
A.插入异常.删除异常.数据冗余B.减少数据库操作的复杂性C.提高查询速度D.保证数据的安全性和完整性10.如果A→B,那么属性A和属性B的联系是。
A.一对多B.多对一C.多对多D.以上都不是11.数据库系统设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,这是数据库设计的阶段。
A.需求分析B.概念设计C.逻辑设计D.物理设计12.在E-R模型向关系模型转换时,1:N的联系转换成关系模式时,其关键字是。
A.1端实体的主码B.n端实体的主码C.1,n端实体主码的组合D.重新选取其他属性13.局部E-R图转换成整体E-R图时可能会出现冲突,以下不属于冲突的是。
数据库技术复习题
数据库技术复习题1.SQL是以下()的缩写。
A.Structured Query Language B.Structured Queen LanguageC.Structured Query Lable D.System Query Language2.SQL语言集数据查询、数据操纵、数据定义和()功能于一体。
A.数据分割B.数据控制C.数据挖掘D.数据分配3.基本表也称关系或表,是数据库中独立存在的表,它是由()命令创建的。
A.CREATE VIEW B.CREATE TABLEC.CREATE INDEX D.CREATE ATEM4.SQL的数据更新不包括下列哪个命令()。
A.INSERT B.UPDA TEC.DELETE D.CREATE5.信息是现实世界各种客观事物之间相互联系、相互作用的运动状态和特征的抽象描述,是数据处理的结果,且仍以数据的形式表示出来,即数据是信息的载体,信息是数据的处理结果,是数据的内涵。
因此,信息与数据的关系可以简单地表示为()。
A.数据=信息+数据处理B.数据处理=数据+信息C.信息=数据+数据处理D.信息=数据-数据处理6.根据不同的抽象层次,数据模型有概念数据模型、结构数据模型和()三类。
A.逻辑数据模型B.层次数据模型C.物理数据模型D.网状数据模型7.E-R模型是()。
A. 实体-模式模型B. 实体-联系模型C. 客体-联系模型D. 客体-模式模型8.关系数据语言根据其理论的不同可分为两大类()。
A. 关系代数和关系演算B. 实体代数和客体演算C. 规则演算和规则代数D. 元组关系和域关系9.如果一个关系模式R(U)的所有属性都是不可再分的基本数据项,则称R(U)为()。
A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. 第四范式(4NF)10.数据库的完整性是指数据库中数据的正确性、一致性和()。
A.保密性B.相容性C.静态性D.动态性11.事务是用户定义的一组操作序列的集合,是数据恢复和()的基本单位。
数据库复习题完整答案版
复习题一、选择题1.( B )是按照一定的数据模型组织的、长期存储在计算机内,可为多个用户共享的数据的集合。
(A)数据库系统(B)数据库(C)关系数据库(D)数据库管理系统2.数据库系统的基础是( D )。
(A)数据结构(B)数据库管理系统(C)操作系统(D)数据模型3.( C )处于数据库系统的核心位置。
(A)数据字典(B)数据库(C)数据库管理系统(D)数据库管理员4.对数据库的操作要以( B )内容为依据。
(A)数据模型(B)数据字典(C)数据库管理系统(D)运行日志5.在DBS中,DBMS和OS之间的关系是( B )。
(A)相互调用(B)DBMS调用OS(C)OS调用DBMS (D)并发运行6.有了模式/内模式的映象,可以保证数据和应用程序之间的( B )。
(A)逻辑独立性(B)物理独立性(C)数据一致性(D)数据安全性7.( A )是数据库中全部数据的逻辑结构和特征的描述。
(A)模式(B)外模式(C)内模式(D)存储模式8.( C )是数据库物理结构和存储方式的描述。
(A)模式(B)外模式(C)内模式(D)概念模式9.( B )是用户可以看见和使用的局部逻辑结构和特征的描述。
(A)模式(B)外模式(C)内模式(D)概念模式10.关系操作的特点是(C )。
(A)记录操作方式(B)字段操作方式(C)集合操作方式(D)对象操作方式11、用树型结构来表示实体之间联系的模型称为(B )。
(A)关系模型(B)层次模型(C)网状模型(D)记录模型12、数据模型中用于描述系统静态特性的是(A )。
(A)数据结构(B)数据操作(C)完整性约束(D)数据模型13.关系中标题栏中各列的名称称为( C )。
(A)对象(B)元组(C)属性(D)记录14.在下述关系的特点中,错误的是( D )。
(A)列可以交换(B)行可以交换(C)任意两元组不能相同(D)表中的数据项可分15、下面的选项不是关系数据库基本特征的是(A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库复习
第一章 数据库概论
1.数据库系统的三级模式:
外模式(用户模式,通常是模式的子集,也叫子模式) 模式(逻辑、概念模式,记录和数
据有关的一切内容并且存储相关联系) 内模式(存储模式,记录存储方式、索引组织方式)
2.模型:概念模型(用户定义,第一步抽象) 数据模型(网状、层状、关系,计算机的角
度来看)
3.概念模型中联系:1对1 1对多 多对多
概念模型的表示方法最常用的是实体—联系方法,用E-R图来表示
方框表示实体,椭圆框表示属性,菱形表示联系
4.关系模型是用二维表表示实体和实体间联系的模型
主要术语:关系(对应于我们平常说的表) 元组 属性 域 主码(表中的某个属性组,唯一
标识一个元组) 分量(元组中的一个属性值)
关系模式:对关系的描述,
用关系名(属性名1,属性名2,…,属性名n)来表示。例如:关系可描述为:
学生(学号,姓名,年龄...)
5.关系模型的特点
概念单一(实体内外联系为关系,数据结构为表)
关系必须是规范化的关系
用户对数据的检索不过是从原来表中得到一张新表(无论原始数据还是结构都是一张二维
表)
第二章 关系数据库
1.关系:笛卡儿积 D1×D2×… ×Dn 的子集称为定义在域D1,D2,…,Dn上的n元关系(Relation),
可用R(D1,D2,…,Dn )表示。 一般来说,关系式从笛卡尔积中选取有意义的子集
2.关系的性质:
(1)关系中没有重复元组(2)元组和属性的顺序无关紧要,可以交换顺序(3)属性名必
须不同,不同的属性可来自同一个域,同一个属性下属性值必须是同类型且来自同一个域(4)
每个属性都是原子的,不可再分的(1NF约束)
3.码(唯一标识元组的一个或者一组属性)、候选码(有多个码,每个都叫候选码)、主码(候
选码中选择一个作为关系的主码,表的主码),外部码(如关系R2 的一组属性不是R2的主
码,而是关系R1 的主码,则该属性组成为R2的外部码)
4.关系的操作:选择投影交并差笛卡尔积增加删除修改等等
5.关系模型的三类完整性质:
实体完整性(主码不能为空) 参照完整性(外部码必须在对应的主码中能够找到或者取空
值) 用户定义完整性(比如规定属性的域,比如规定某一属性取值必须为宜或者某一属性
的取值为0-100)
6.关系模式(实际上可以理解为关系的表头部分),形式如下:R(A1,A2,…An),具体如下:学
生(学号,姓名,性别,班级,年龄,系部) 关系名加属性名
7.关系代数:
传统的集合运算:并交差笛卡尔积
专门的关系运算:选择(结果是元组σF(R))投影(结果是属性列πX(R) X为R的属性列)
连接除
目或者度是指关系中属性的个数
自然连接与条件连接的区别
条件连接
自然连接(相同属性名不重复)
除法操作:
第四章 关系数据库理论
1.函数依赖:
由一个推出另一个,而且对于不同的元组,只要起决定性作用的属性值相同,被决定的属性
值一定是相同的。X起决定性作用,Y被决定的属性,则XY,X函数决定Y,或者Y函数
依赖于X,对所欲的元组都起作用。
2.非平凡的函数依赖,Y不是X的子集。完全函数依赖与部分函数依赖,完全函数依赖是说
X内所有的属性在一起决定了Y的属性,而部分依赖是指X中的部分属性就可以完全决定Y
的属性。传递函数依赖,XY,Y不能X,YZ,则称Z传递函数依赖于X,或者X传递函数
决定Z,记为XZ。主属性是指包含在任意一个候选码中的属性,而非主属性是指不包含
在任意一个候选码中的属性。
候选码的两个性质:1.标识的唯一性,即确定候选码,即确定元组的所有属性;2.无冗余性,
定义了候选码的完全函数依赖。
3.范式
第一范式:每个属性都是原子的,都不可再分
第二范式:在1NF的基础上,每个非主属性都完全依赖于R的任意候选码。实现的方式是
将不满足2NF的关系分解为投影的集合,令每个投影集合中的属性都满足2NF约束。
第三范式:在2NF的基础上,每个非主属性都不传递依赖于R的任意候选码。实现的方式
也是将不满足3NF的关系分解为投影的集合,令每个集合满足3NF约束,但是,投影的集
合不一定都要包含候选码,因为只要一个包含,在之后的自然连接中能够连接然后可以恢复
即可。
Boyce-Codd范式:是为了解决3NF中没有限制有些主属性对码的部分依赖和传递依赖关系,
当R属于1NF,而且R中每个决定元素都是候选码,则R属于BCNF,即候选码全都是一个
元素。
多值依赖:
第四范式:一个关系如果在BCNF中且不存在平凡多值依赖,则处于4NF
第十一章 并发控制
1.脏数据 A修改数据a,B读取a, 之后a的修改被撤销,a恢复原值,而B读到的a值即与
数据库中的不一致。
2.基本封锁类型:排它锁(X锁,写锁)、共享锁(S锁,读锁),
3.
活锁:进程调度的随机性,导致了锁的分配的不公平性,解决策略:排队机制
死锁:两个进程互相锁住了对方接下来要加锁的数据,导致两个进程都无法正常的执行下去。
解决方法:
(1)预防死锁(不适合操作系统使用)
①一次封锁法
事务必须将要加锁的数据一次性加锁,否则就不能继续执行(降低了系统并发度,并且
实现难以全部预料)
②顺序封锁法
预先对数据对象规定一个封锁顺序,所有事务都按照这个顺序封锁(数据对象极多,不
断变化,难以确定封锁顺序,也很难确定事务要封锁哪些数据)
(2)诊断解除
死锁诊断:
超时法
事务等待图法
如果事务T1等待事务T2,则画一条T1指向T2 的射线,画出状态图,如果T1和T2 互
相指的话,则证明出现了死锁,选择一个处理代价最低的死锁进行解除其占有的所有的锁(我
认为是在题目没有要求的前提下是解除被指向自己最多的结点)
4.可串行化调度
一个调度Sc在保证冲突操作次序不变的前提下,通过交换两个不冲突的操作的次序来得到
另一个调度Sc’,如果Sc’是串行的,则称Sc为冲突可串行操作。
5.冲突操作是指不同的事务对同一个数据的读写操作和写写操作,例如下面:
Wi(x)和Rj(x),或者Wi(x)和Wj(x)
其他操作是非冲突操作
冲突可串行化调度是可串行化调度的充分条件,不是必要条件
6.两段锁协议:
(1)扩展阶段:事务可以申请获得任何类型的锁,但不能释放
(2)收缩阶段:事务可以释放任何类型的锁,但不能再申请获得任何类型的封锁
理论研究证明,遵从两段锁协议可以获得可串行化调度
疑问,为什么两段锁一个事务给A上了S锁之后可以直接给其上X锁
7.粒度
封锁对象的大小叫做封锁的粒度
封锁的对象:逻辑单元(属性值 属性集合 元组 关系 索引项 整个索引 整个数据库) 物
理单元(数据页或索引页、物理记录)
封锁粒度越大,系统的并发度越小,消耗的资源越少;封锁粒度越小,系统的并发度越高,
但消耗的资源越多。
多粒度封锁,是可以对封锁粒度进行选择(用多粒度数可以表示多级封锁粒度,根是数据库,
表示最大的封锁粒度,叶节点是最小的封锁粒度,会导致隐式加锁)
显式加锁:直接对数据对象加锁
隐式加锁:对该数据对象的上级加锁,就相当于对该数据对象加同样的锁,效果是相同的。
比如说事务要对关系R1加锁,那么先要检查是否有显式加锁,如果没有,需要检查数据库
是否加锁,同时还需要检查其下级的元组是否被加锁。如果有不相容锁,那么就需要等待。
8.意向锁
对下层节点加锁,会对上层结点加上意向锁,而且这一操作是先于加基本锁的。
IS锁(意向共享锁),IX锁(意向排他锁),SIX锁(共享意向排他锁)
SIX=S+IX 对某个表加SIX锁,则表示该事务要读整个表(所以要对该表加S锁),同时会更
新个别元组(所以要对该表加IX锁)。
一个事务在申请封锁时以强锁代替弱锁是安全的,反之是不安全的。
9.申请封锁的过程应该是自上而下,而释放封锁应该是自下而上。
3.SQL相关
定义数据完整性的约束:
基本语法: NULL/NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK
--外键创建
CREATE TABLE SC
( SNo CHAR(6) NOT NULL CONSTRAINT S_Fore FOREIGN KEY REFERENCES S(SNo),
CNo CHAR(5) NOT NULL CONSTRAINT C_Fore FOREIGN KEY REFERENCES C(CNo),
Score NUMERIC(4,1),
CONSTRAINT S_C_Prim PRIMARY KEY (SNo,CNo));
简答题:
1.试述关系模型的三个组成部分。
答:
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。