【数据库原理与应用】数据库简答题总复习——电子科技大学2023期末考试

所有题目的目录,方便背诵

什么是数据库?它和普通数据文件有什么区别?

  • 数据库是一种依照特定数据模型组织、存储和管理数据的文件集合
  • 数据库与普通数据文件的主要区别:
    • 数据库可以支持不同应用对数据共享访问,普通数据文件难以支持。
    • 数据库可实现复杂的数据管理,普通数据文件难以实现。
    • 数据库可独立应用程序,普通数据文件与应用程序紧耦合。
    • 数据库的操作访问与控制管理由数据库管理系统软件实现;普通数据文件的操作访问与控制管理,都必须由应用程序实现

简述数据库系统的四个组成部分,并画出DBMS的层次结构

  • 用户:分为最终用户和DBA用户,最终用户通过操作数据库应用系统处理业务,并利用程序存储数据库信息,DBA用户是一种专门进行数据库管理与运行维护的系统用户。

  • 数据库管理系统:位于用户和OS之间的创建、操纵和管理数据库的系统软件,一般具有如下功能:

    • 数据定义功能:创建数据库、数据库表以及其它对象
    • 数据操纵功能:读写、修改、删除数据库表中数据
    • 维护数据库结构
    • 执行数据访问规则
    • 提供数据库并发访问控制和安全控制
    • 执行数据库备份和恢复
  • 数据库应用系统:在DBMS支持下对数据库进行访问和处理的应用程序

  • 数据库image.png

  • DBMS层次结构图image.png

    图上漏了一个层,从上到下分别为操作界面层,语言翻译处理层,数据存取控制层,数据存储管理层

关系数据模型的优缺点有哪些?

  • 关系数据模型思想:采用“二维表”结构组织、存储和管理数据,并以关联列实现表之间的联系。

  • 关系数据模型优点: 数据结构简单、操作灵活;支持关系与集合运算操作;支持广泛使用的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实体联系:两个实体分别转换为关系表,将任意一个关系表的主键放入另一个关系表做外键。(谁做主键,谁做外键都可以,自主选择)image.pngimage.png
      • 1:N实体联系:两个实体分别转换为关系表,然后将父实体关系表的主键放入子实体关系表中做外键,便可将1:N实体联系转换为关系表参照完整性约束。image.pngimage.png
      • M:N实体联系:M:N实体联系不能像1:1和1:N实体联系那样直接转换。需要创建一个新的关联表,该关联表分别参照原有实体对应的关系表。image.pngimage.png
    • 实体继承的转换:当带有实体继承联系的E-R模型转换关系模型时,首先父实体和子实体都各自转换为表,其属性均转换为表的列。在处理实体继承联系转换时,将父表中的主键放置到子表中,既做主键又做外键。image.pngimage.png

    • 实体递归联系的转换:

      • 1:N实体递归联系”的转换:首先将递归实体转换为表,其属性转换为列,标识符转换为主键,同时还将标识符转换为外键,实现自己对自己的参照。image.pngimage.png
      • M:N实体递归联系的转换:增加一个关联表,该表分别参照原实体对应的关系表,并对原关系表建立两个参照完整性约束。image.pngimage.png

规范化数据库设计的原因,逆规范化处理的概念和方法

  • 规范化数据库设计的原因:

    • 减少数据库中的冗余数据,尽量使同一数据在数据库中仅保存一份,有效降低维护数据一致性的工作量。
    • 设计合理的表间依赖关系和约束关系,便于实现数据完整性和一致性。
    • 设计合理的数据库结构,便于系统对数据高效访问处理。
  • 逆规范化处理:适当降低规范化范式约束,不再要求一个关系表必须达到很高的规范化程度,而是允许适当的数据冗余性,以获取数据访问性能。

  • 逆规范化处理的基本方法:(1)增加冗余列或派生列(2)多个关系表合并为一个关系表

1NF到4NF,共五种范式的内容

  • 1NF:如果关系表中的属性不可再细分,该关系满足第1范式。反之,该表就不是关系表。

  • 2NF:如果关系满足第1范式,并消除了关系中的属性部分函数依赖,该关系满足第2范式。

  • 3NF:如果关系满足第2范式,并切断了关系中的属性传递函数依赖,该关系满足第3范式。

  • BCNF:在关系中,所有函数依赖的决定因子都是候选键,该关系满足BCNF范式。

  • 4NF:如果关系满足BCNF范式,并消除了多值函数依赖,该关系满足第4范式。

数据库管理的原因、目标和内容

  • 需要数据库管理的原因:

    • 数据库系统随规模增大,系统会变得异常复杂
    • 多用户数据库应用带来数据库访问复杂性
    • 数据安全和数据隐私对机构和用户都非常重要
    • 数据库系统随数据量增加和使用时间增长其性能会降低
    • 系统遭遇意外事件,数据库损坏或数据丢失
  • 数据库管理的目标:

    • 保障数据库系统正常稳定运行
    • 充分发挥数据库系统的软硬件处理能力
    • 确保数据库系统安全和用户数据隐私性
    • 有效管理数据库用户及其角色权限
    • 解决数据库系统性能优化、系统故障与数据损坏等问题
    • 最大程度地发挥数据库对其所属机构的作用
  • 数据库管理的内容:DBMS系统运行管理,数据库性能监控,数据库索引管理,数据库查询优化,数据库事务并发控制,数据库角色管理,数据库用户管理,数据库对象权限管理,数据安全管理,数据库备份,数据库恢复

事务的概念和特性,需要并发执行的原因

  • 在数据库中,事务(Transaction)是指由构成单个业务处理单元的一组数据库访问操作,要求它们要么都成功执行,要么都不执行。

  • 事务ACID特性:

    • 原子性(Atomicity):事务所有操作在数据库中要么全部执行,要么全部不执行。
    • 一致性(Consistency):事务多次执行,其结果应一致。
    • 隔离性(Isolation):事务与事务之间隔离,并发执行透明。
    • 持续性(Durability ):事务完成后,数据改变必须是永久的。
  • 事务并发执行原因:改善系统的资源利用率,减少事务运行的平均等待时间

并发控制的目的,需要解决的问题

  1. 并发控制目的:

    • 支持并发事务处理,使更多用户并行操作,提高系统的并发访问能力。
    • 保证一个事务工作不会对另一个事务工作产生不合理的影响。
  2. 并发控制需要解决的问题:前三个其实是同类问题

    • 丢失更新数据:一个事务对一共享数据进行更新处理,但是以后查询该共享数据值时,发现该数据与自己的更新值不一致。(T1、T2两个事务并发执行,它们均对数据库共享数据A进行了非锁定资源的读写操作。当事务T1和T2均读入该共享数据A并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失)
    • 不可重复读取:一个事务对一个共享数据重复多次读取,但前后读取的数据不一致。(事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时,得到与前一次不同的值)
    • 幻象读:一个事务对一个共享数据重复读取两次,但发现第二次读取比第一次读取的结果新增了一些数据。(事务T1按一定条件从数据库中读取某些数据记录后,事务T2在其中插入了一些记录,当T1再次按相同条件读取数据时,发现多了一些记录。称为幻象读取)
    • 脏数据读取是指一个事务读取了被取消持久化的共享数据

排它锁与共享锁的概念,相容性

  • 排它锁定(Lock-X)——锁定后,不允许其它事务对共享数据再加锁

  • 共享锁定(Lock-S)——锁定后,只允许其它事务对共享数据添加读取锁

    排它锁共享锁无锁
    排它锁
    共享锁
    无锁

数据库的一到三级加锁协议

  • 一级加锁协议:任何事务在修改共享数据对象之前,必须对该数据执行排它锁定指令,直到该事务处理完成,才进行解锁指令执行。使用一级加锁协议,可避免出现更新丢失问题。但不能解决“不可重复读取”、“脏读”等数据不一致问题。

  • 二级加锁协议:在一级加锁协议基础上,针对并发事务的共享数据读操作,必须对该数据执行共享锁定指令,读完数据后即刻释放共享锁定。该加锁协议不但可以防止“丢失更新”的数据不一致性问题,还可防止出现脏读数据问题。但有可能会出现“不可重复读取”的数据不一致问题。

  • 三级加锁协议:在一级加锁协议基础上,针对并发事务对共享数据进行读操作,必须对该数据执行共享锁定指令,直到该事务处理结束才释放共享锁定。该加锁协议不但可以防止“丢失更新”、“脏读”的数据不一致性问题,还可防止出现“不可重复读取”的数据一致性问题。

  • 加锁协议级别排它锁共享锁不丢失更新不脏读可重复读
    一级全程加锁不加
    二级全程加锁开始读数据时加锁,读完数据释放锁定
    三级全程加锁全程加锁

什么是并发事务调度?什么是可串行化调度?DBMS并发事务调度目标是什么?如何保证可串行化调度?

  • 并发事务调度就是控制多个事务的数据操作语句按照恰当的顺序访问共享数据,使这些事务执行之后,避免造成数据的不一致性,即解决“丢失更新数据”、“不可重复读”、“脏数据读”等问题。

  • 可串行化调度:在事务并发执行中,只有当事务中数据操作调度顺序的执行结果与事务串行执行结果一样时,该并发事务调度才能保证数据操作的正确性和一致性。符合这样效果的调度称为可串行化调度。

  • DBMS并发事务调度目标:使并发事务调度实现的处理结果与串行化调度处理结果一致。

  • 并发事务的正确调度准则:一个给定的并发事务调度,当且仅当它是可串行化时,才能保证正确调度。保证可串行化的一个协议是:二阶段锁定协议

  • 二阶段锁定协议规定每个事务必须分两个阶段提出加锁和解锁申请:增长阶段,事务只能获得锁,但不能释放锁。缩减阶段,事务只能释放锁,但不能获得新锁。

何为死锁状态?死锁出现的四个必要条件是什么?如何防范和解决死锁?

  • 事务死锁状态:在基于锁机制的并发事务执行中,如果这些事务同时锁定两个以及以上资源时,可能会出现彼此都不能继续执行的状态,即事务死锁状态。

  • 死锁出现的必要条件:互斥条件,请求和保持条件,不剥夺条件,环路等待条件

  • 防范死锁的策略:

    • 允许用户一次发出当前所需全部资源的锁定,使用完成后,再释放给其它用户访问。
    • 规定所有应用程序锁定资源的顺序必须完全相同。
  • 解决死锁的方法:当发生死锁时,回滚其中的一个事务,并取消它对数据库所做的改动。

简述数据库面临的安全问题。数据库系统故障的原因有哪些?

数据库面临的安全问题:

  • 黑客利用系统漏洞,攻击系统运行、窃取和篡改系统数据。
  • 内部人员非法地泄露、篡改、删除系统的用户数据。
  • 系统运维人员操作失误导致数据被删除或数据库服务器系统宕机。
  • 系统故障导致数据库的数据损坏、数据丢失、数据库实例无法启动。
  • 意外灾害事件(火灾、水灾、地震等自然灾害)导致系统被破坏。

数据库系统故障原因:数据库服务器硬件故障,系统软件故障,用户误操作,系统意外断电

画出数据库系统安全模型,分析每一部分的内容。

数据库系统安全模型:用户身份鉴别,用户存取权限控制,操作系统安全保护,数据加密存储image.png

身份验证:从应用系统层面确认登录用户是否是合法使用者
权限控制:从DBMS系统层面通过存取权限机制控制用户对数据的访问
系统防护:从操作系统层面提供的安全机制防范非法系统访问
加密存储:从数据存储层面通过加密算法对数据库中数据进行加密存储

ODBC的概念,特点,画出ODBC的层次结构图。

ODBC全称为开放式数据库互连(Open DataBase Connectivity)技术,ODBC实现了应用程序对多种不同DBMS的数据库的访问,实现了数据库连接方式的变革。

ODBC定义了一套基于SQL的、公共的、与数据库无关的API(应用程序设计接口);使每个应用程序利用相同的源代码就可访问不同的数据库系统,存取多个数据库中的数据;从而使得应用程序与数据库管理系统(DBMS)之间在逻辑上的独立性,使应用程序具有数据库无关性。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U32bEgfH-1687921035844)(https://s2.loli.net/2023/06/04/WqVBgs7bk2TyahC.png)]

应用程序使用ODBC访问数据库的步骤

应用程序使用ODBC访问数据库的步骤:

  • 首先必须用ODBC管理器注册一个数据源
  • 管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系
  • 应用程序只需将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接
  • 这样,应用程序就可以通过驱动程序管理器与数据库交换信息
  • 驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序
  • 驱动程序在执行完相应的SQL操作后,将结果通过驱动程序管理器返回给应用程序

JDBC的概念,画出JDBC的层次结构图

JDBC全称为Java DataBase Connectivity(Java数据库连接)技术 ,是一种用于执行SQL语句的Java API。它由一组用Java编程语言编写的类和接口组成。这个API由java.sql.*包中的一些类和接口组成,它为数据库开发人员提供了一个标准的API,使他们能够用纯Java API 来编写数据库应用程序。image.png

应用程序使用JDBC访问数据库的步骤

JDBC访问数据库步骤:应用程序开始——导入java.sql包——加载并注册驱动程序——创建Connection对象——创建Statement对象——执行SQL语句——使用ResultSet对象返回结果——关闭ResultSet对象——关闭Statement对象——关闭Connection对象——结束

使用存储过程的优缺点

  • 使用存储过程的优点
    • 减少网络通信量
    • 执行速度更快
    • 更强的适应性
    • 降低了业务实现与应用程序的耦合
    • 降低了开发的复杂性
    • 保护数据库元信息
    • 增强了数据库的安全性
  • 使用存储过程的缺点
    • SQL本身是一种结构化查询语言,而存储过程本质上是过程化的程序;面对复杂的业务逻辑,过程化处理逻辑相对比较复杂;而SQL语言的优势是面向数据查询而非业务逻辑的处理。
    • 如果存储过程的参数或返回数据发生变化,一般需要修改存储过程的代码,同时还需要更新主程序调用存储过程的代码。
    • 开发调试复杂,由于缺乏支持存储过程的集成开发环境,存储过程的开发调试要比一般程序困难。
    • 可移植性差

大数据的5V特征,CAP理论,BASE模型,最终一致性理论

  • 大数据的5V特征:超量volume,高速velocity,异构variety,真实veracity,价值value

  • 在分布式的环境下设计和部署系统时,有3个核心的需求:CAP理论:一致性(Consistency),可用性(Availability)和分区容忍性(Partition Tolerance)

  • BASE模型:

    • Basically Available :基本可用;系统能够基本运行,一直提供服务。
    • Soft-state :软状态/柔性事务。“Soft state” 可以理解为"无连接"的, 而 “Hard state” 是"面向连接"的;系统不要求一直保持强一致状态。
    • Eventual Consistency :最终一致性 系统在某个时刻达到最终一致性。
    • BASE定义为CAP中AP的衍生,在分布式环境下, BASE是数据的属性,BASE强调基本的可用性,按照功能划分数据库
  • 最终一致性理论:因果一致性、读一致性、会话一致性、单调读一致性、单调写一致性。

NoSQL共同特征和NoSQL普遍采用的技术

  • NoSQL共同特征:不需要预定义模式,无共享架构,弹性可扩展,分区,异步复制,BASE
  • NoSQL普遍采用的技术:简单数据类型,元数据和应用数据的分离,弱一致性

简述NoSQL的优缺点

  • 优点: 高可扩展性、分布式计算、低成本、 架构的灵活性,半结构化数据、 没有复杂的关系。
  • 缺点: 没有标准化、有限的查询功能(到目前为止)、最终一致不直观等

NoSQL数据库常见的四种分类,表格对比

  1. NoSQL数据库分类:
    • 键值对存储方式(存储的数据是有键(key)和值(value)两部分组成,通过key快速查询到其value,value的格式可以根据具体应用来确定):Redis
    • 列存储方式(将同一列的数据存储在一起,可以存储结构化和半结构化数据):HBase
    • 文档存储方式(存储的内容是文档型的,可以用格式化文件(类似json、XML等)的格式存储):MongoDB
    • 图形存储方式(数据以有向加权图方式进行存储):Neo4j
分类Examples举例典型应用场景数据模型优点缺点
键值 (key-value)Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等Key 指向 Value 的键值对,通常用hash table来实现查找速度快数据无结构化,通常只被当作字符串或者二进制数据
列存储数据库Cassandra, HBase, Riak分布式的文件系统以列簇式存储,将同一列数据存在一起查找速度快,可扩展性强,更容易进行分布式扩展功能相对局限
文档型数据库CouchDB, MongoDb与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容Key-Value对应的键值对,Value为结构化数据数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构查询性能不高,而且缺乏统一的查询语法。
图形(Graph)数据库Neo4J, InfoGrid, Infinite Graph社交网络,推荐系统等。专注于构建关系图谱图结构利用图结构相关算法。比如最短路径寻址,N度关系查找等很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
一、简答题 1、什么是数据与程序的物理独立性?什么是数据与程序的逻辑独立性? ①物理独立性是指用户的应用程序与数据库数据的物理存储是相互独立的。也就是说,数据数据库怎样存储是由数据库管理系统管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时应用程序不用改变。 ②逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。也就是说,数据的逻辑结构改变时用户程序也可以不变。 2、试述等值连接与自然连接的区别和联系。 连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积选取A,B属性值相等的那些元组 自然连接是一种特殊的等值连接,它要求两个关系进行比较的分量必须是相同的属性组,并且在结果把重复的属性列去掉。 3、试述实现数据库安全性控制的常用方法和技术。 ( l )用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 **( 2 )存取控制:**通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级的自主存取控制( DAC ) , Bl 级的强制存取控制(MAC )。 **( 3 )视图机制:**为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 ( 4 )审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 **( 5 )数据加密:**对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。 4、试述关系模型的三类完整性规则,并举例说明。 实体完整性:所谓的实体完整性就是指关系(所谓的关系就是表)的主码不能取空值; 例子: (1) 实体完整性规则:若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。 **参照完整性:**是指参照关系每个元素的外码要么为空(NULL),要么等于被参照关系某个元素的主码; 例子: (2) 参照完整性规则:若属性(或属性组) F 是基本关系 R 的外码,它与基本关系 S 的主码 K s 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 每个元组在 F 上的值必须为: 或者取空值( F 的每个属性值均为空值); 或者等于 S 某个元组的主码值。 用户定义的完整性:指对关系每个属性的取值作一个限制(或称为约束)的具体定义。 5、一个不好的模式会有些什么问题? ①数据冗余 ②更新异常 ③插入异常 ④删除异常 6、数据库设计,需求分析的任务是什么?调查的内容是什么? 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统手工系统或计算机系统)工作概况明确用户的各种需求,然后在此基础上确定新系统的功能。 **调查的内容是“数据”和“处理”**即获得用户对数据库的如下要求: (1)信息要求指用户需要从数据库获得信息的内容与性质由信息要求可以导出数据要求即在数据库需要存储哪些数据。 (2)处理要求指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。 (3)安全性与完整性要求 7、什么是索引?索引的作用。 索引是对数据库一列或多列的值进行排序的一种结构,使用索引可快速访问数据库的特定信息。 建立索引是加快查询速度的有效手段,数据库索引类似于图书后面的索引,能快速定位到需要查询的内容,用户可以根据应用环境的需要在基本表上建立一个或者多个

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

明月出天山_

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值