数据库期末复习资料 (超全的名词解释和简答题)
英文名词解释:一.数据库系统原理概论attribute:实体所具有的某一特征Big Datacloud computingCODASYL DBTGcolumnconcurrency:并发data :描述事物的符号记录,数据的最小存取单位是记录Data Language/I (DL/I)data marts: 数据集市,data model:对现实世界数据特征的抽象,用来描述数据,组织数据和对数据进
如果对您有帮助的话,请多多点赞和关注我哦,这样我会更有动力生产更优质的内容!如果有疑问和批评指正,也欢迎在评论区给出哦!
英文名词解释:
范式
1NF:关系的每一个分量都不能再分,保证数据的原子性,不能表中有表
2NF:关系满足1NF且所有非码属性均依赖于于完整的主码(单属性主码必定满足2NF)
3NF:满足2NF且不存在非码属性依赖于其他非码属性的情况
BCNF:bc范式,当且仅当关系满足3NF,且所有函数依赖的决定因素都是候选码
attribute:实体所具有的某一特征,表中的一列
ad-hoc :即席查询,按用户需求创建,而非写入应用程序中的查询
Big Data
BI system :商务智能系统,通过生成评估信息,分析信息,规划信息和控制信息来支持管理决策的系统
CRUD:
即“创建(Create)、删除(Delete)、 更新(Update)、读取(Read)”(增删改查)取首字母。
candidate key: 若关系中某一属性的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码;或在关系中可决定其他所有列的决定因素
composite key : 包含两列及以上的码成为复合码
all-key: 最极端的情况下,关系模式的所有属性值是这个关系模式的候选码,称为全码。
data :描述事物的符号记录,数据的最小存取单位是记录
database :数据库(database)是可自我描述的(self-describing)集成表(integrated tables)集合。书定义:存放数据的仓库,长期储存在计算机内,有组织的,可共享的大量数据的集合。
database design (as a process):是指对数据库创建合适的表结构(structure)、合适的表间关系(relationship)、合适的数据约束(data
constraint)以及其它结构组成。
database design (as a product)
database management system (DBMS):DBMS是用于创建、处理、管理数据库的一种庞大、复杂的程序。或者答数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
database system :由数据库,dbms,应用程序,和数据库管理员组成的存储,管理和维护数据的系统。
denormalize :逆规范,把规范化后的关系用连接运算恢复成未规范化的一张表的状态的过程
determinant :决定因素,表示某一或某一组属性的取值可决定其他属性的取值的情况
delete anomaly: 删除异常,在删除某一行时,丢失了其他不想删除的信息的情况
domain :域,符合特定数据类型定义的一组数据
domain integrity constraint :域完整性约束,同一关系下同一列的数据类型应相同
DK/NF :域码范式,关系不存在任何异常时需要什么条件。
entity:客观存在并可相互区别的事物或更准确的用户所追踪的某可辨识的事物
entity set :同一类型实体的集合
entity type:用实体名及其属性名集合来抽象和刻画同类实体,如 学生(学号,姓名)就是一个实体型。
entity integrity cinstraint :实体完整性约束,主属性不能取空值
functional dependency:当关系中一个属性或若干属性确定后,其余的某些属性也能确定;或某一或某一组属性的取值可以决定其他属性的取值的情况。
foreign key:用于在一张表中引用另一张表的主码数据的码;或由单列或多列复合而成,并在其他某表中以主码形式对应再次出现的码
instance:模式的一个具体值称为模式的一个实例
index :一种支持结构,可以加快数据库中数据排序和查找的速度
integrated tables:集成表,既存储了数据,又存储了数据间关系的表
insert anomaly :插入异常,想要插入数据,因为表设计的原因,无法成功插入
key:一列或多列的组合,用于在关系内标识特定的行
metadata:元数据,描述数据的数据
multivalued dependency: 多值依赖,出现于决定因素的某一个取值可决定一组特定集合取值的情形
modification anomaly: 修改异常,插入异常,更新异常,删除异常
normal forms: 范式,符合某一级别的关系模式的集合
normalization:一个低一级的范式的关系模式通过模式分解可以转换为若干个高一级范式的关系模式的集合
nonprime attribute : 非码属性,不包含在任意候选码中的属性
null value: 空值,不存在,不知道,或无意义的值
primary key: 表中的某个属性组,它可以惟一确定一个元组;设计数据库时被选中用于检索行的候选码称为主码。
primary attribute :主属性,包含在任意一个候选码中的属性
relation :满足一定条件的表
1.行存储实体
2.列存储实体的属性
3.每一行输入的数据类型必须相同
4.列名不能重复
5.表中每格只能存放单一数据
6.列的顺序不重要
7.行的顺序不重要
8.不存在两个完全一致的行
referential integrity constraints: 对外码取值的约束,确保外码中的每个取值均有相应的主码取值进行匹配或为空值。参照完整性约束可以维护表间数据的有效性
relational model:对关系的描述,一般表示为关系名(属性 1 ,属性 2 , … ,属性 n )
surrogate key :代理码,人为添加到表中的列,充当主码,由dbms为其赋值,对用户来说无意义。
schema :逻辑模式,数据逻辑结构和特征的描述,一个数据库只能有一个模式
external schema: 子模式(subschema),用户模式,数据库用户能够看见和使用的逻辑结构和特征的描述,可以有多个外模式,用户只能看见外模式里面的数据,数据库里面是其余数据不可见。
internal schame:存储模式,数据物理结构和存储方式的描述,数据在数据库内部的组织方式。
tuple :表中的一行
update anomaly :更新异常,想更新某一个数据项,结果要修改多行,还可能出错。
transitive dependency: 传递依赖,非码属性依赖于其他非码属性
简答
关系型数据库如何在表中存数据 :
关系型数据库行存储数据的实例,列存储实体的属性,此外关系型数据库存储了表间约束,通过参照完整性约束,建立多表之间的联系。
应用程序的功能
充当dbms与用户之间的媒介:
应用程序处理用户的查询,发送SQL语句至DBMS来读取或者修改数据库当中的数据;把结果展示给用户,以表单或者报表的方式向用户展示数据;执行特定的应用逻辑控制应用。
1.创建处理表单
2.处理用户查询
3.创建处理报表
4.执行应用程序的逻辑
5.控制应用本身
数据库设计的 3 种类型(来源):
1.利用现有数据的数据库设计(Database from existing data)
2. 用于新系统开发的数据库设计 ( Database design for new system
development)
3.对已有数据库的重设计(Database redesign of an existing database)
包括:数据迁移,数据集成,利用规范化理论和数据模型转换,进行逆向工程及新数据库的设计
为什么数据冗余会导致数据的完整性问题 :
数据冗余会导致更新异常
when do you redesign an existing database?
原有表结构设计不良,存在函数依赖,多值依赖,维护数据库时经常存在插入异常,更新异常,删除异常等数据完整性问题时,可考虑重新设计数据库。
参照完整性约束的作用和重要性 :
参照完整性约束限制了外码取值必须存在于对应主码的取值集合中,建立了主码和外码间的联系,建立了多表之间的联系,确保了表间数据的一致性。
为什么冗余数据会导致数据的完整性问题 :
冗余数据,容易造成多次删除,更新或者删除操作才能对某一数据正常的完成一次操作,即存在插入异常,更新异常,删除异常,容易发生数据的不一致问题。
为什么关系型数据库用的最多
关系型数据库的原理容易理解,上手容易,并且很好的解决了数据集成,共享的问题,从而背广泛使用。
how enterprise-class DBMS products ues SQL
企业级dbms通过sql语句对数据库进行操作,并提供了创建,处理,管理数据库的功能。企业级dbms有:Microsoft Access ,MySQL ,DB2等
何时容易遇到多值多列问题
从非数据库数据创建数据库时容易遇到,如excel表格,txt文件,这些数据通常把多个同类别的数据放在同一行。
为什么要警惕通用目的备注列
通用目的备注列存放的信息冗长,口语化,有时会出现数据不一致,同一列数据可能含有不同类别的数据。
确保数据完整性和数据一致性的区别 :
数据完整性问题是说数据冗余容易导致更新异常,而数据一致性问题除了要避免更新异常,还要避免插入和修改异常,故确保数据完整性是确保数据一致性的一部分。
为什么说个性化冗余表是一种典型的逆规范
对于高度规范化的多张表,当业务需要经常查询来自多张表的列数据,可以通过连接查询等方法,拷贝数据创建个性化的冗余表。这样做虽然容易导致数据的不一致问题,表的范式级别也有所下降,但查询效率得到了提高,因此是一种典型的逆规范。
关系模型常用的关系操作包括
1.查询 2.插入 3.删除 4.修改 后三个为一组
查询是关系操作最主要的部分,选择,投影project,并union,差except,笛卡尔积是五种基本操作。
数据库如何管理多表 :
1.数据库通过行存储实体,列存储实体的特征
2.通过外码和主码之间的参照完整性约束,建立表间联系,管理多张表
什么样的情况下不用移除多值依赖:
1.只读数据库
2.更新频率极低的数据库
几乎不会出现修改异常,规范化会导致查询的sql语句很复杂,并且会增加dbms的开销
dbms如何控制并发 :
dbms通过确保单一用户对数据库的操作不会影响其他用户,来进行并发控制,即无论是一个人还是多人合作使用dbms,都能得到一致的符合预期的处理结果。
数据库目的:
数据库(database)的目的是帮助人们跟踪了解客观事物(keep track on things)
数据库存在的真正目的:
存储不能用等式表示的函数依赖实体
数据库特点 :
1.数据结构化
2.数据的共享度高,冗余度低且易扩充
3.数据独立性高
4.数据由数据库系统统一管理和控制
数据模型包括?
数据结构,数据操作和数据的完整性约束三部分组成。
数据结构:描述数据库的组成对象以及和对象之间的联系,对系统静态特征的描述
数据操作:对数据各种对象的实例允许执行的操作的集合,包括操作和有关的操作规则,对系统动态特性的描述。
数据的完整性约束条件:是一组完整性规则,用以限定符合数据模型的数据库状态以及状态的变化,保证数据的正确,有效,相容(可以些四个完整性约束)
两类数据模型:
概念模型:信息模型,按用户的观点对数据进行信息建模,主要用于数据库设计。从现实世界到机器世界。
逻辑模型和物理模型
数据库常用逻辑模型:
1.层次模型:hierarchical model
2.网状模型:metwork model
3.关系模型:relational model
4.面向对象数据模型:object oriented data model
数据库的完整性: 正确性和相容性(compat-ability)
数据库约束
1.域完整性约束:列的取值
2.实体完整性约束:主码取值不能同
3.参照完整性约束:外码取值
关系模型的完整性约束包括三大类 :关系模型的完整性规则是对关系的某种约束条件
1.实体完整性 entity integrity 若属性A是基本关系R的主属性,则A不能取空值,所谓空值就是不知道,不存在或无意义的值。
2.参照完整性 referential integrity (实体和参照是最重要的完整性约束)
3.用户定义的完整性 user-defined integrity
Explain the role of referential integrity constraints in normalization.
以确保数据库中存储的数据正确、有效、相容。
三级模式两级映像与数据独立性
两层映像保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性
1.外模式/模式映像
模式:数据全局逻辑;外模式:数据局部逻辑;一个模式可以有多个外模式。对于每一个外模式,dbs都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。
当模式改变时(例如增加新的关系,新的属性,改变数据的数据类型等),由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式不变,应用程序是依据数据的外模式编写的,从而使应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
2.模式/内模式映像
数据库只有一个模式,一个外模式,所以模式/内模式映像是唯一的,定义了数据全局逻辑结构与存储结构的对应关系。
当数据库的存储结构改变时,例如选用另一种存储结构,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据库的物理独立性
文件系统与数据库系统的区别是 :文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。
文件系统与数据库系统的联系是 :文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而 DBMS 是独立于操作系统的软件。但是 DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。
域完整性的重要性:
1.域完整性是针对某一具体关系数据库的约束条件,保证表中某些列不能输入无效的值
2.域完整性指列的值域的完整性,如数据类型,格式,值域范围,是否允许空值等。
3.域完整性限制了某些属性中出现的值,如把属性限制在一个有限的集合中,例如如果属性类型是指整数,那么他就不能是101.5。
Under what conditions will a determinant be unique in a relation?
这个决定因素可以决定其他所有列
规范化理论可以分为三大类 :
1.函数依赖 1NF,2NF,3NF,BCNF
2.多值依赖 4NF
3.数据约束以及其他未知问题
What is the best test for determining whether a determinant is unique?
最好的策略是考虑产生数据的业务活动的性质,并询问用户
引入数据库后计算机系统的层次结构:
硬件 -os-数据库管理系统-应用开发工具-应用系统
数据处理的核心问题:数据管理
数据库管理系统的主要功能有哪些
( l )数据库定义功能; ( 2 )数据存取功能; ( 3 )数据库运行管理; ( 4 )数据库的建立和维护功能。
实体之间的联系: 通常是指不同实体型的实体集之间的联系,实体之间的联系有一对一,一对多和多对多等多种类型。
试述关系模型的概念,定义并解释以下术语: ( l )关系( 2 )属性( 3 )域( 4 )元组 ( 5 )主码( 6 )分量( 7 )关系模式
答: 关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。 ( l )关系:一个关系对应通常说的一张表; ( 2 )属性:表中的一列即为一个属性; ( 3 )域:属性的取值范围; ( 4 )元组:表中的一
行即为一个元组; ( 5 )主码:表中的某个属性组,它可以惟一确定一个元组; ( 6 )分量:元组中的一个属性值; ( 7 )关系模式:对关系的描述,一般表示为关系名(属性 1 ,属性 2 , … ,属性 n )
DDL DML
DDL :数据定义语言,用来定义数据库模式、外模式、内模式的语言。 DML :数据操纵语言,用来对数据库中的数据进行查询、插入、删除和修改的语句。
关系模型:关系模型要求关系是规范化的,必须满足一定的规范条件,最基本的一条,关系的每一个分量必须是一个不可分的数据项。
关系的特点:
1.行存储实体
2.列存储实体的属性
3.每一列输入的数据类型必须相同
4.列名不能重复
5.表中每格只能存放单一数据
6.列的顺序不重要
7.行的顺序不重要
8.不存在两个完全一致的行
凡是关系必是表,并非所有的表都是关系,满足这些的表才是关系
规范化的利与弊 :
优点
1.规范化消除了修改异常
2.规范化减少了数据冗余(Reduce duplicated data)
为什么说减少而不是消除数据冗余 :因为有时外键存在重复值,所以重复值的情况不能完全消除。
为什么减少数据冗余,就能消除数据不一致导致的完整性问题 :
因为参照完整性约束禁止了数据不一致的情况发生,所以外码存在重复值也不会造成不一致问题,即只要参照完整性约束有效,重复外码值就不会造成数据不一致。
缺点:
1.处理规范化的表,需要应用程序编写更复杂的SQL语句,必须编写子查询或连接查询将存储于多表里打散的数据复原
2.对于规范化的数据,DBMS需要读取两张以上的表降低了应用处理的速度
逆规范的优点 :
1.从可更新数据库向只读数据库放入数据时,节省了程序员给每个应用编写join语句的时间;
2.避免了每次用户运行查询或创建报表时,都要执行连接查询和子查询的情况,减少DBMS开销
数据库建设的基本规律 :三分技术,七分管理,十二分基础数据,十二分基础数据强调了数据的收集,整理,组织和不断更新是数据库建设中的重要环节
电子商务公司最大的数据库的目的 :
1.记录顾客的浏览行为
2.在db中进行数据分析,挖掘,通过用户需求来个性化推荐从而实现利益最大化。
数据库重新设计的方式 :
1.数据迁移
2.数据合并
3.规范化理论,数据模型转换,进行逆向工程
面向对象数据库为什么不行
1.数据量太大不易存储
2.相比于关系型数据库,面向对象的数据库没有显著的优势
armstrong公理系统:armstrong axiom
设U为属性集总体,F是U上的一组函数依赖于是有关系模式R<U,F>,对R<U,F>来说有以下的推理规则:
1.自反律:reflexivity rule: 若Y包含于X,X包含于U,则X->Y为F所蕴含。
2.增广律:augmentation rule:若 X->Y为F所蕴含,且Z包含于U,则XZ->YZ为F所蕴含。
3.传递律:transitivity rule:若X->Y及Y->Z为F所蕴含,则X->Z为F所蕴含
X->Y,但Y不 ⊆ \subseteq ⊆X,则称X->Y是非平凡的函数依赖,若Y ⊆ \subseteq ⊆X,则称X->Y是平凡的函数依赖。
What were the early objections to the relational model?(最早的关系模型的反对是什么)
(1) 理论性太强,无法实际实施
(2) 速度太慢,以及
(3) 需要太多存储空间,以至于该模型在商业世界中永远不会有用
object
== Explain why duplicated data lead to data integrity problems.(解释为什么重复数据导致数据库完整性的问题)==
Any table that has duplicated data is susceptible to update anomalies.
任何有重复数据的表容易出现更新异常
SQL背景
20世纪70年代,SQL由IBM公司研发诞生
数据库完整性和安全性 :
数据库的完整性是为了防止数据库存在不合语义的数据,防止错误信息的输入输出所造成的无效操作和错误结果,安全性是防范对数据库的恶意破坏和非法存取。
事务
1、定义
事务,一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
2、特性
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
视图和表的异同 :
1.视图和表都是关系,都可在查询中直接应用
2.db中存储表的模式定义和数据
3.db中只存视图的定义,不存视图的数据
4.视图数据在使用视图时临时计算
数据库安全 :授权:授予与收回
1.如果指定 WITH GRANT OPTION ,则获得某种权限的用户还可以把这种权限再授予给其他用户,如果没有指定,则不能传播
2.不允许循环授权
3.eg:把查询表的权限给U1
GRANT SELECT
ON TABLE Student
TO U1;
把对Student表和Course表的全部操作给U1,U2
GRANT ALL PRIVILEGES
ON TABLE Student,Course
TO U1,U2;
把对表SC的查询权限授予所有用户
GRANT SELECT
ON TABLE SC
TO PUBLIC;
把查询Student表和修改学生学号的权限授予U4
GRANT UPDATE(Sno),SELECT
ON TABLE Student
TO U4;
如果在所有的后面加WITH GRANT OPTION
那么就可以把权限给其他用户
REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4;
REVOKE SELECT
ON TABLE SC
FROM PUBLIC
集合论角度给出关系的形式化定义 :
为什么数据库是自我描述的 :
因为数据库存有元数据,用于描述自身的数据
决定因素需要唯一吗?:
不需要,在关系中,决定因素唯一,当且仅当决定因素可决定关系中其他所有的列,但是不能决定所有列也有可能唯一哦。
总结使用数据库技术的不同方式:
1.给用户提供查询接口
2.利用sql查询db中数据
3.使用应用程序来操作数据
更多推荐
所有评论(0)