数据库原理与应用数据库简答题总复习
用户:分为最终用户和DBA用户,最终用户通过操作数据库应用系统处理业务,并利用程序存储数据库信息,DBA用户是一种专门进行数据库管理与运行维护的系统用户。
数据库管理系统:位于用户和OS之间的创建、操纵和管理数据库的系统软件,一般具有如下功能:
数据定义功能:创建数据库、数据库表以及其它对象数据操纵功能:读写、修改、删除数据库表中数据维护数据库结构执行数据访问规则提供数据库并发访问控制和安全控制执行数据库备份和恢复数据库应用系统:在DBMS支持下对数据库进行访问和处理的应用程序
数据库
DBMS层次结构图
图上漏了一个层,从上到下分别为操作界面层,语言翻译处理层,数据存取控制层,数据存储管理层。
关系数据模型的优缺点有哪些?关系数据模型思想:采用“二维表”结构组织、存储和管理数据,并以关联列实现表之间的联系。
关系数据模型优点: 数据结构简单、操作灵活;支持关系与集合运算操作;支持广泛使用的SQL数据库操作语言标准;拥有众多的软件厂商产品与用户
关系数据模型局限: 只用于结构化数据的组织与存储管理;支持的数据类型较简单;难以支持互联网广泛应用的非结构化数据和复杂数据管理
关系数据库是否适合大数据应用处理? 结构化的数据模型:关系数据库通常使用结构化的数据模型,对于大量非结构化或半结构化数据,这可能变得非常困难和昂贵数据一致性和完整性:关系数据库强调数据一致性和完整性,在大数据环境中,数据的结构和模式可能经常发生变化。这种灵活性要求在关系数据库中频繁地进行模式更改和数据迁移,导致一定的数据冗余和一致性的挑战复杂的数据处理操作:大数据应用通常涉及复杂的数据处理操作,如分布式计算、实时处理、图形处理等。关系数据库在这些方面可能缺乏一些先进的功能和技术,无法有效地应对大数据的处理复杂性。处理速度慢:关系数据库通常使用SQL查询语言进行数据检索和处理。当数据量很大时,复杂的SQL查询可能需要大量的时间来执行,从而导致性能下降。关系数据库在处理大规模并发请求时也可能面临性能瓶颈。扩展性限制:关系数据库通常基于固定的硬件设备,其扩展性受到硬件资源的限制。当数据量庞大时,关系数据库可能无法有效地扩展以处理大规模的数据。 数据库应用系统生命周期和每个阶段的主要活动 需求分析:系统分析人员与用户交流,利用软件工程方法获取系统数据需求信息,并采用需求模型定义系统数据组成,及其数据字典。系统设计:系统设计人员根据系统功能和性能需求,对系统数据库进行设计,包括系统概念数据模型、系统逻辑数据模型和系统物理数据模型设计。系统实现:按照系统设计方案进行数据库创建与应用编程实现,主要包括DBMS安装部署、数据库创建、数据对象创建、应用编程实现等方面的工作。系统测试:系统测试人员将测试数据上载到数据库中,对数据库对象进行测试操作访问,实现数据库功能和性能测试。系统运行和维护:系统运维人员在信息系统投入运行过程中,对数据库系统进行定期维护和优化,以保证数据库系统正常地、高效地运行。 实体和关系的概念及其联系,以及关系具有的特征 实体是指包含有数据特征的事物对象在概念模型世界中的抽象名称。关系是指具有关系特征、用于存放实体数据的二维表。关系也常被称为关系表。在关系模型中,使用“关系”来存储“实体”中的数据。关系的特征: 表中每行存储实体的一个实例数据表中每列包含实体的一项属性数据表中单元格只能存储单个值不允许有重复的行、列列、行顺序可任意 关系模型(数据模型)的三个组成部分,关系模型的完整性约束 数据结构(用于描述事物对象的静态特征,包括事物对象的数据组成、数据类型、数据性质等)数据操作(用于描述事物对象的动态特征,包括数据的插入、修改、删除和查询等访问操作)数据约束(用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,数据动态变化的规则,以及数据取值范围等规则,从而确保数据的完整性、一致性和有效性)实体完整性约束(关系表中实施的主键取值约束,以保证关系表中的每个元组可以被唯一标识。规则:每个关系表中的主键属性列都不允许为空值,主键取值应该唯一)参照完整性约束(关系表之间需要遵守的数据约束,以保证关系之间关联列的数据一致性。规则:若关系R中的外键F与关系S中的主键K相关联,则R中外键F值必须与S中主键K值一致。)用户自定义完整性约束(用户根据具体业务对数据处理规则要求所定义的数据约束。包括:定义列的数据类型,取值范围,缺省值,是否允许为空等等) 键,候选键,主键,复合键,代理键的概念;主键的作用 在关系中,可以用来唯一标识元组的属性列,称为键(Key),其它属性列都为非键列。关系中可能有多个列均适合作为键,将其中每个都称为候选键。主键是关系表中最有代表性的一个候选键。复合键是指关系中用来唯一标识元组的多列作为键。代理键:采用DBMS自动生成的数字序列作为关系表的主键。由DBMS自动生成的数字序列作为主键,可替代复合主键,以便获得更高性能的数据访问操作处理。主键作用: 唯一标识关系表的每行(元组); 与关联表的外键建立联系,实现关系表之间连接;数据库文件使用主键值来组织关系表的数据存储;数据库使用主键索引快速检索数据 SQL语言全称,特点,包含的六种类型 SQL语言:SQL( Structured Query Language,结构化查询语言 )是一种对关系数据库进行访问的数据操作语言。特点:一体化,使用方式灵活,非过程化,语言语句简单SQL语言类型:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL,事务处理语言TPL,游标控制语言CCL 索引的概念以及优缺点 索引(Index)是一种按照关系表中指定列的取值顺序组织元组数据存储的数据结构,使用它可以加快表中数据的查询访问。索引优点: 提高数据检索速度,可快速连接关联表,减少分组和排序时间。索引开销: 创建和维护索引都需要较大开销,索引会占用额外存储空间,数据操纵因维护索引带来系统性能开销 视图和基本表的区别和联系,应用 视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制。视图应用:使用视图简化复杂SQL查询操作,使用视图提高数据访问安全性,提供一定程度的数据逻辑独立性,集中展示用户所感兴趣的特定数据 数据库开发过程各个阶段所做的工作数据库开发过程:
数据需求分析阶段:从现实业务获取数据表单、报表、查询、业务规则、数据更新的说明,分析系统的数据特征、数据类型、数据取值约束,描述系统的数据关系、数据处理要求,建立系统的数据字典。数据库设计阶段:数据库模型结构设计(概念数据模型、逻辑数据模型、物理数据模型),数据库索引、视图、查询设计,数据库表约束设计,数据库触发器、存储过程设计数据库实现阶段:数据库创建,数据模型物理实现数据库测试阶段:数据库数据上线,数据库系统测试 E-R模型的基本元素?转换到关系模型的各类处理进行设计说明实体(Entity)是指问题域中存在的人、事、物、地点等客观事物在逻辑层面的数据抽象。它用于描述事物的数据对象,如客户、交易、产品、订单等。
属性是指描述实体特征的数据项。每个实体都具有1个或多个属性。
标识符是指标识不同实体实例的属性。标识符可以是1个或多个属性。
联系(Relationship)是指实体之间的联系,如“学生”与“成绩”的联系、“孩子”与“父亲”、“母亲”的联系等。
实体到关系表的转换:将每一个实体转换成一个关系表,实体属性转换为关系表的列,实体标识符转换为关系表的主键或外键。
弱实体到关系表的转换:为非标识符依赖时,加入强实体标识符作为外键列,为标识符依赖时,不仅加入强实体标识符作为外键列,同时也作为该表的主键列
实体联系的转换:
1:1实体联系:两个实体分别转换为关系表,将任意一个关系表的主键放入另一个关系表做外键。(谁做主键,谁做外键都可以,自主选择)1:N实体联系:两个实体分别转换为关系表,然后将父实体关系表的主键放入子实体关系表中做外键,便可将1:N实体联系转换为关系表参照完整性约束。M:N实体联系:M:N实体联系不能像1:1和1:N实体联系那样直接转换。需要创建一个新的关联表,该关联表分别参照原有实体对应的关系表。实体继承的转换:当带有实体继承联系的E-R模型转换关系模型时,首先父实体和子实体都各自转换为表,其属性均转换为表的列。在处理实体继承联系转换时,将父表中的主键放置到子表中,既做主键又做外键。
实体递归联系的转换:
1:N实体递归联系”的转换:首先将递归实体转换为表,其属性转换为列,标识符转换为主键,同时还将标识符转换为外键,实现自己对自己的参照。M:N实体递归联系的转换:增加一个关联表,该表分别参照原实体对应的关系表,并对原关系表建立两个参照完整性约束。 规范化数据库设计的原因,逆规范化处理的概念和方法规范化数据库设计的原因:
减少数据库中的冗余数据,尽量使同一数据在数据库中仅保存一份,有效降低维护数据一致性的工作量。设计合理的表间依赖关系和约束关系,便于实现数据完整性和一致性。设计合理的数据库结构,便于系统对数据高效访问处理。逆规范化处理:适当降低规范化范式约束,不再要求一个关系表必须达到很高的规范化程度,而是允许适当的数据冗余性,以获取数据访问性能。
逆规范化处理的基本方法:(1)增加冗余列或派生列(2)多个关系表合并为一个关系表
1NF到4NF,共五种范式的内容1NF:如果关系表中的属性不可再细分,该关系满足第1范式。反之,该表就不是关系表。
2NF:如果关系满足第1范式,并消除了关系中的属性部分函数依赖,该关系满足第2范式。
3NF:如果关系满足第2范式,并切断了关系中的属性传递函数依赖,该关系满足第3范式。
BCNF:在关系中,所有函数依赖的决定因子都是候选键,该关系满足BCNF范式。
4NF:如果关系满足BCNF范式,并消除了多值函数依赖,该关系满足第4范式。
数据库管理的原因、目标和内容需要数据库管理的原因:
数据库系统随规模增大,系统会变得异常复杂多用户数据库应用带来数据库访问复杂性数据安全和数据隐私对机构和用户都非常重要数据库系统随数据量增加和使用时间增长其性能会降低系统遭遇意外事件,数据库损坏或数据丢失数据库管理的目标:
保障数据库系统正常稳定运行充分发挥数据库系统的软硬件处理能力确保数据库系统安全和用户数据隐私性有效管理数据库用户及其角色权限解决数据库系统性能优化、系统故障与数据损坏等问题最大程度地发挥数据库对其所属机构的作用数据库管理的内容:DBMS系统运行管理,数据库性能监控,数据库索引管理,数据库查询优化,数据库事务并发控制,数据库角色管理,数据库用户管理,数据库对象权限管理,数据安全管理,数据库备份,数据库恢复
事务的概念和特性,需要并发执行的原因在数据库中,事务(Transaction)是指由构成单个业务处理单元的一组数据库访问操作,要求它们要么都成功执行,要么都不执行。
事务ACID特性:
原子性(Atomicity):事务所有操作在数据库中要么全部执行,要么全部不执行。一致性(Consistency):事务多次执行,其结果应一致。隔离性(Isolation):事务与事务之间隔离,并发执行透明。持续性(Durability ):事务完成后,数据改变必须是永久的。事务并发执行原因:改善系统的资源利用率,减少事务运行的平均等待时间
并发控制的目的,需要解决的问题并发控制目的:
支持并发事务处理,使