数据库的重点知识及回顾

  1. 数据库和数据库系统、数据库管理系统的定义
    数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
    数据库系统是在计算机系统中使用数据库的系统。
    数据库管理系统(DBMS)是为管理数据库而设计的电脑软件系统。

  2. 什么是数据独立性?
    数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
    ① 逻辑数据独立性:当模式发生改变时,由数据库管理员对外模式/模式的映射做出相应的改变,使得外模式可以保持不变。因为应用程序是根据外模式而建立的,所以当模式发生变化时应用程序可以不用改变,保证了数据与程序的逻辑独立性。
    ② 物理独立性:当数据库存储结构发生变化时,由数据库管理员对模式/内模式的映射做出相应的改变,使得外模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性。

  3. 关系型数据库和非关系型数据库区别,优势比较?
    关系数据库是指创建在关系模型基础上的数据库,现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。优势在于可以用 SQL 语句方便的在一个表以及多个表之间做复杂的数据查询。
    非关系型数据库是指对不同于传统的关系数据库的数据库管理系统的统称。与关系数据库最大的不同点是不使用SQL作为查询语言。优势在于性能好,扩展性好。

  4. 简单谈一下数据库范式
    ①第一范式:确保每列保持原子性,即所有字段值都是不可分解的原子值。
    ②第二范式:确保表中的每列都和主键相关。
    ③第三范式:确保每列都和主键列直接相关,而不是间接相关。
    ④ BCNF:符合 3NF,并且主属性不依赖于主属性。

  5. 事务和事务的特性
    事务是对数据库中一系列操作进行统一提交的操作,主要用来保证数据的完整性和一致性。
    事务四大特性:
    原子性:原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。
    一致性:事务开始前和结束后,数据库的完整性约束没有被破坏。
    隔离性:隔离性是当多个用户并发访问数据库时,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
    持久性:持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的。

  6. 数据库的三级模式(外模式 概念模式 内模式)
    1)外模式:对应用户级即用户所看到的数据库的数据视图,是和具体的应用或项目有关的逻辑表示,反映了数据库系统的用户观。
    2)概念模式又称为逻辑模式,对应概念级。是对数据库全部数据的逻辑结构特征的总体描述,是所有用户的公共数据视图。反映了数据库系统的整体观。
    3)内模式又称为存储模式,对应物理级。是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,描述了数据在存储介质上的存储方式和物理结构,反映了数据库系统的存储观。
    此外,在一个数据库系统中只有唯一的数据库,因而作为定义及描述数据存储结构的内模式和定义及描述数据库逻辑结构的概念模式也是唯一的。但建立在数据库系统之上的应用则是非常多的,所以对应的外模式是不唯一的,也不可能是唯一的。

  7. 数据库设计通常分为几个阶段? 6个阶段
    1需求分析:分析用户的需求,包括数据、功能和性能需求;
    2概念结构设计:主要采用E-R模型进行设计,包括画E-R图;
    3逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;
    4数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;
    5数据库的实施:包括编程、测试和运行;
    6数据库运行与维护:系统的运行与数据库的日常维护。

  8. 多个事务读可能会导致的问题
    1脏读:事务B读取事务A还没有提交的数据。
    2不可重复读:一行被检索两次,并且该行中的值在不同的时间段被读取。
    3幻读:在事务处理过程中执行两个相同的查询,并且第二个查询返回的行集合与第一个查询不同时。这两个区别在于,不可重复读重点在一行,幻读的重点在返回的集合。

  9. 什么是数据冗余?如何减小冗余?
    首先:数据冗余是指数据之间的重复,也可以说是同一数据存储在不同数据文件中的现象。
    其次:为了达到最低冗余,在设计中进行模式的规范化,一般达到 BC 范式的情况下,就可以大幅度降低数据冗余。

  10. 数据库的关系操作有哪些?各有什么作用?
    关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差、笛卡尔积等查询操作和增加、删除、修改等操作两大部分。
    查询的表达能力是其中最主要的部分。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合的方式。相应地,在非关系数据模型中数据操作的方式则为一次一记录的方式。

  11. 什么是表?什么是视图?两者的区别和联系是什么?
    首先:表是保存数据的实体,写入的数据都保存在表中。而视图不保存数据,仅是一个虚拟表,其内容由查询定义。视图包含一系列带有名称的行和列数据,但是视图并不在数据库中以存储数据值集的形式存在。
    其次:表和视图都可以更新,但是视图的更新受到约束。
    最后:联系可以理解为视图的数据都是从表中取出来的,视图就是定义的一个框框而已,内容都是在表中。

  12. 索引的优缺点,什么时候使用索引,什么时候不能使用索引?
    ① 索引最大的好处是提高查询速度,可以将其理解为一张包含所有数据的哈希表。
    ② 缺点是更新数据时效率低,因为要同时更新索引。如果对数据进行频繁查询可以建立索引,但要是频繁更改数据则不建议使用索引。

  13. 主键、外键、超键、候选键
    ① 主键:数据库表中对存储数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能为空值。
    ② 外键:在一个表中存在的另一个表的主键。
    ③ 超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以为作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。
    ④ 候选键:是最小超键,即没有冗余元素的超键。

  14. 触发器的作用?
    触发器是一种特殊的存储过程,主要是通过事件来触发而被执行的。
    触发器可以用来:
    1强化约束来维护数据的完整性和一致性。
    2跟踪数据库内的操作从而不允许未经许可的更新和变化。
    3联级运算。比如:某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

  15. 什么是存储过程?用什么来调用?
    存储过程是一个预编译的 SQL 语句,优点是允许模块化的设计,只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次 SQL,使用存储过程比单纯SQL语句执行要快。调用:可以用命令对象来调用也可以用外部程序来调用。

  16. 存储过程的优缺点?
    优点:
    1存储过程是预编译过的,执行效率高。
    2存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。
    3安全性高,执行存储过程需要有一定权限的用户。
    4存储过程可以重复使用,可减少数据库开发人员的数据量。
    缺点:移植性差。

  17. 什么叫视图? 游标是什么?
    ① 视图:是一种虚拟的表,具有和物理表相同的功能,可以进行增,改,查等操作。视图通常是有一个表或多个表的行或列的子集。
    ② 游标:可以对查询出来的结果集做为一个单元来有效处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行,也可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。

  18. 视图的优缺点
    优点:
    1)对数据库的访问,视图可以有选择性的选取数据库里的一部分。
    2)用户通过简单的查询可以从复杂查询中得到结果。
    3)维护数据的独立性,视图可从多个表检索数据。
    4)对于相同的数据可产生不同的视图。
    缺点:查询视图时,必须把视图的查询转化成对基本表的查询。如果这个视图是由一个复杂的多表查询所定义的,那么就无法更改数据。

  19. 关联查询
    ① LEFT JOIN 左关联,返回的是左表的信息。
    ② RIGHT JOIN 右关联,返回的是右表的信息。
    ③ INNER JOIN 内关联,只返回关联字段的信息。

  20. 聚集索引和非聚集索引区别?
    ① 聚合索引:聚集索引表记录的排列,顺序和索引的排列顺序一致,所以查询效率快,只要找到第一 个索引值记录,其余的连续性记录就存放在连续的物理地址上。
    缺点:修改慢,因为为了保证表中记录的物理和索引顺序一致,所以在记录插入的时候,会对数据页重新排序。
    ② 非聚合索引:非聚集索引指定了表中记录的逻辑顺序,但是记录的物理地址和索引却不一定一致。非聚集索引层次多不会造成数据重排。
    ③ 根本区别:表中记录的排列顺序和与索引的排列顺序是否一 致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值