数据库知识点汇总

数据库简答题

1、典型数据库模型
层次数据模型、网状数据模型、关系数据模型、面向对象数据模型等

3、简述数据库、数据库系统、数据库管理系统
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度(redundancy)、较高的数据独立性(data independency)和易扩展性(scalability),可为各种用户共享。
数据库系统是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
数据库管理系统是位于操作系统和用户之间的一层数据管理软件。

4、数据管理技术三个阶段、数据库系统阶段的特点
(1)人工管理阶段(2)文件系统阶段(3)数据库系统阶段
数据库系统阶段的特点:
① 数据结构化 ②数据的共享性高、冗余度低、易扩充
③ 数据独立性高 ④数据由数据库管理系统统一管理和控制

文件系统
数据库管理系统
某一应用 现实世界
共享性差,冗余度大 共享性高,冗余度小
记录内有结构,整体无结构 整体结构化,用数据模型描述
应用程序控制 由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力
独立性差 具有高度的物理独立性和一定的逻辑独立性

5、DBMS支持那几种数据模型
常用的是层次模型、网状模型、关系模型(最重要)。新兴的是面向对象数据模型和对象关系数据模型。
(1)层次模型是指用树型结构表示实体及其之间的联系,树中每一个节点代表一个记录类型,树状结构表示实体型之间的联系。在一个层次模型中的限制条件是:有且仅有一个节点,无父节点,此节点为树的根;其他节点有且仅有一个父节点。
(2)网状模型:用有向图结构表示实体类型及实体间联系的数据结构模型称为网状模型。网状模型的数据结构主要有以下两个特征: ①允许一个以上的节点无双亲。 ②一个节点可以有多于一个的双亲。
(3)关系模型是数据模型中最重要的。关系实际上就是关系模式在某一时刻的状态或内容。关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系。现实世界的实体以及实体间的各种联系均用关系来表示,从用户角度看,关系模型中数据的逻辑结构是一张二维表。

6、数据库应用系统开发阶段
(1)需求分析(2)系统设计(3)系统实现(4)系统测试(5)系统运行与维护

7、典型数据库系统举例:
Access、DBase(前两者为桌面型)、SQL Server、Oracle、IBM DB、My SQL、Sybase
8、简述两类数据模型
(1)概念模型。 E-R模型是用E-R图来描述现实世界的概念模型。
一种表示方法:实体-联系方法(entity-relationship approach),常用E-R图表示。
实体之间的联系:一对一、一对多、多对一、多对多
(2)逻辑模型和物理模型
逻辑结构设计中,一个实体型转换为一个关系模式。

9、数据库的三级模式、两级映射:
(1)三级模式
外模式又称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行。外模式反映了数据库的用户观。
模式又称逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据描述语言(Data Defination Language,DDL)来描述、定义的,体现了数据库系统的整体观。
内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。
在一个数据库系统中,只有唯一的数据库,因而作为定义、描述数据库存储结构的内模式和定义、描述数据库逻辑结构的模式也是唯一的,但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式不唯一。
(2)两级映射
①外模式/模式映像。当模式改变时,由数据库管理员对各个外模式/模式映像作相应改变,可以使外模式保持不变。应用程序是依据外模式编写的,从而应用程序不用修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。②模式/内模式映像 。当数据的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不用改变。保证了数据与程序的物理独立性,简称数据的物理独立性。

10、数据模型通常都是由数据结构、数据操作和完整性约束三个要素组成。
  1)数据结构
  数据结构用于描述数据库系统的静态特性。数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,是与数据类型、内容、性质有关的对象,例如关系模型中的域、属性、关系等。一旦数据结构定义好之后,一般不发生变化。
  2)数据操作
  数据操作用于描述数据库系统的动态特性。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有查询和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。
  3)完整性约束
  数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。在关系模型中,一般关系必须满足实体完整性和参照完整性两个条件。

11、主码的作用
(1)唯一标识每个元组
(2)与关联表的外码建立联系,链接两个表
(3)使用主码值来组织关系的存储
(4)使用主码索引快速检索数据

12、数据操作:
关系模型中常用的关系操作包括查询和数据更新两大部分:
查询: 选择、投影、连接、除、并、差、交、笛卡尔积等,其中选择、投影、并、差、笛卡尔积是5种基本操作
数据更新:插入、删除、修改
集合运算符:并、交、差、乘
专门运算符:选择、投影、连接、除
基本运算符:选择、投影、并、差、笛卡尔积

关系模型中常用的关系操作包括:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等查询(Query)操作,和插入(Insert)、删除(Delete)、修改(Update)操作两大部分。查询是其中最主要的部分。
关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合(set-at-a-time)的方式。相应地,非关系数据模型的数据操作方式则为一次一记录(record-at-a-time)的方式。

13、关系的完整性
关系的完整性规则是对关系的某种约束条件。
(1)实体完整性,指在基本关系表中主码取值的约束,以保证每个元组可以被标识。约束规则:非空、唯一。
(2)参照完整性,指关系间需要遵循的数据约束,以保证关系间关联列的数据一致性。参照完整性是指外码取值必须与现有主码值相对应。
(3)用户定义完整性,指用户根据具体业务对数据处理规则要求所定义的数据约束。用户可定义列的数据类型、取值范围、缺省值、是否允许为空、取值唯一性、数据依赖性。

14、外码
设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码 Ks相对应,则称F是基本关系R的外码(Foreign key),并称基本关系R为参照关系(Referencing relation),基本关系S为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S不一定是不同的关系。

15、简述 SQL 语言的特点
SQL 语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据库语言的特点和优点。其特点如下:①综合统一 ②高度非过程化 ③面向集合的操作方式 ④以同一种语法结构提供多种操作方式 ⑤语言简洁,易学易用

16、SQL语言类别
(1)数据定义语言DDL(data definition language):创建、删除、修改数据库对象(包括数据库、表、索引) Create/drop/alter database/table/index
(2)数据操纵语言DML(data manipulation language):增加、删除、修改数据库
Insert、update、 delete
(3)数据查询语言DQL(data query language):对数据库进行查询 select
(4)数据控制语言DCL(data control language):对数据库对象访问权进行控制
Grant(授权)、 deny(拒绝)、 revoke(撤销)

17、索引
在数据库中,索引是针对某个表中的一列或者几列建立的指向表中记录数据页的逻辑指针清单,可加快对数据表的快速信息检索,快速连接关联表,减少分组和排序时间。
聚集索引与非聚集索引的区别:在聚集索引中,码值的逻辑顺序决定了表中相应行的物理顺序;在非聚集索引中,码值的逻辑顺序可以与表中相应行的物理顺序不同。

18、视图的作用
(1)简化复杂的SQL查询操作。通过视图,开发人员可以将复杂的查询语句封装在视图内,使外部程序只需要简单方式访问该视图,便可获取所需数据。
(2)提高数据访问安全性。通过视图可以将基本数据表的部分敏感数据隐藏起来,外部用户无法得知完整数据,保护隐私,并降低数据库被攻击的风险。
(3)提供一定程度是数据逻辑独立性。当数据表的结构改变,只要视图的结构不变,应用程序可以不做修改。
(4)集中展示用户所感兴趣的特定部分。
(5)使用户能以多种角度看待同一数据。

19、SQL主码约束和唯一约束有什么区别呢?
主码约束:由一列或多列的组合,其值能唯一的标识表中的每一行。
唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。
区别:一个表可以定义多个唯一约束,但只能定义一个主码约束;空值的列上可以定义唯一约束,不能定义主键约束。

20、什么是表?什么是视图?两者的区别和联系是什么?
表是实实在在得保存数据的实体,写入的数据都保存在表中;
视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制。
联系: 视图是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。

21、说明等值连接与自然连接的区别与联系?
自然连接是除去重复属性的等值连接。 两者之间的区别和联系如下:
(1)自然连接一定是等值连接,但等值连接不一定是自然连接;
(2)等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性;
(3)等值连接不把重复的属性除去;而自然连接要把重复的属性除去。

22、数据字典通常包含五个部分:数据项、数据结构、数据流、数据存储、处理过程

23、范式:1NF 2NF 3NF BCNF First Normal Form Boycee Codd Normal Form
1NF:每个属性都不可再分
2NF:在1NF的基础之上,消除了非主属性对于码的部分函数依赖
3NF:在2NF的基础之上,消除了非主属性对于码的传递函数依赖
BCNF:在3NF的基础上,消除主属性对于码的部分函数依赖与传递函数依赖

1NF有哪些缺点?
1、数据冗余太大(每一个系的系主任名字重复出现)
2、更新异常(某个系更换系主任之后,必须将该系学生有关的每一个元组)
3、插入异常(如果一个系刚成立,尚无学生,就无法将老师存入到数据库中)
4、删除异常(如果学生都毕业了,在删除学生时,把这个系的系主任的所有信息都删除了)

24、E-R模型到关系模型的转换
(1)将每一个实体转换成关系表,实体的属性转换为表的列,实体的标识符转换为表的主码;
(2)将实体间的关系转换为表间的参照完整性约束,即通过设置外码来参照主码。

25、数据库管理员DBA的职责:
①决定数据库中的信息内容和结构:数据库中要存放哪些信息
②决定数据库的存储结构和存取策略:获得较高的存取效率和存储空间利用率
③定义数据的安全性要求和完整性约束条件:负责确定各个用户对数据库的存取权限、数
据的保密级别和完整性约束条件
④监控数据库的使用和运行:转储数据、维护日志文件、故障恢复
① 数据库的改进和重组重构:对运行情况进行记录、统计分析,以此来不断改进数据库设计

26、事务管理与事务
事务管理:在数据库应用系统中,完成一个业务处理通常需要多个操作步骤。在每个操作步骤中,都可能遭遇失败,若没有一个处理机制,就可能造成操作数据混乱,从而破坏数据一致性。
事务:指由构成单个业务处理单元的一组数据库访问操作,它们要么都正常执行,要么都不执行,是一个不可分割的工作单位。在关系数据库中,⼀个事务可以是⼀条SQL语句、⼀组SQL语句或者整个程序。事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。COMMIT表⽰提交,即提交事务 的所有操作。具体的说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。 ROLLBACK表⽰回滚,即在事务运⾏的过程中发⽣了某种故障,事务不能继续执⾏,系统将事务中对数据库的所 有已完成的操作全部撤销,回滚到事务开始时的状态。

事务ACID特性:
原子性(Atomicity):事务的所有操作在数据库中要么全部执行,要么都不执行。
一致性(Consistency):事务多次执行,结果应一致
隔离性(Isolation):事务与事务之间隔离,并执行透明
持续性(Durability):事务完成后,数据该改变必须是永久的

27、为什么要进行数据库转储,比较各种数据转储方法?
所谓转储即DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的数据文本称为后备副本或后援副本。当数据库遭到破坏后可以将后备副本重新装入,但重装后备副本只能将数据库恢复到转储时的状态,要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事务。转储可分为静态转储和动态转储。转储还可以分为海量转储和增量转储两种方式。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来会更方便些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。

28、并发控制可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?
并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。产生数据不一致性的主要原因是并发操作破坏了事务的隔离性。并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其它事务的干扰,从而避免造成数据的不一致性。并发控制的主要技术是封锁(Locking)。
丢失修改:当一个事务修改了数据,并且这种修改还没有提交到数据库中时,另外一个事务又对同样的数据进行了修改,并且把这种修改提交到了数据库中。这样,数据库中没有出现第一个事务修改数据的结果,好像这种数据修改丢失了一样。
不可重复读:在一个事务内,多次读同一数据。在这个事务还没有结束时,另一个事务也访问该同一数据,那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,第一个事务两次读到的数据可能不一样。
读“脏”数据:当一个事务正在访问数据,并对数据进行了修改,而这种修改还没有提交到数据库中,这时另一个事务也访问这个数据并使用了这个数据。因为这个数据是还没有提交的数据,那么另一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。

29、数据库完整性与安全性的区别
完整性和安全性是两个不同的概念。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出造成的无效操作和错误结果,而后者是防止数据库被恶意的破坏和非法的存取。当然,完整性和安全性是密切相关的。特别是从系统实现的方法来看,某一种机制常常既可以用于安全保护亦可用于完整性保证。

30、日志文件的定义与作用。
日志文件是用来记录事务对数据库的更新操作的文件。作用:在数据库恢复中起着重要的作用,可以用来进行事物故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复。

31、数据库恢复策略有哪几种?
(1)数据转储(数据冗余) (2)日志文件

32、数据库:两段锁协议
两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁。
“两段”的含义是,事务分为两个阶段:第一阶段是获得封锁,也称为扩展阶段。在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这阶段,事务释放已经获得的锁,但是不能再申请任何锁。
可以证明,若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策 略都是可串行化的。 另外要注意两段锁协议和防止死锁的一次封锁法的异同之处。一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行,因此一次封锁法遵守两段锁协议;但是两段锁协议并不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁。

33、数据库故障的种类?
1、事务内部的故障2、系统故障3、介质故障4、计算机病毒

34、数据库保护(访问)的内容有哪些?
① 利用权限机制和完整性约束防止非法数据进入数据库;
② 提供故障恢复能力;
② 提供并发访问控制。

35、数据库有哪几种备份策略
完全备份、事务日志备份、差异备份、文件备份。

36、DBMS 的控制操作有哪些
①数据的安全性保护;②数据的完整性检查;③并发控制;④数据库恢复。

37、DBMS的数据控制功能有那些
(1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。
(2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。
(3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。
(4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。
(5)数据库的传输。DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。

38、Java语言设计数据库
创建数据库链结->创建语句对象->执行SQL命令->访问执行结果集->关闭链结
(1)利用JDBC API建立数据库连接,
(2)在建立的数据库连接上,执行SQL语句访问数据库
(3)在JSP中处理SQL执行结果
(4)在JSP中释放数据库连接

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧杵

还是学生,生活太难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值