软考之软件设计师——数据库技术基础

数据库技术基础

1、数据库管理系统(DBMS)

  • 主要实现对共享数据有效地组织、管理和存取。
  • DBMS的六大功能:
  1. 数据定义数据库操作:提供数据操纵语言(DML)来实现对数据的基本操作。DML分为两类:宿主型、自含型
  2. 数据库运行管理:并发控制、安全性检查…
  3. 数据的组织、存储和管理
  4. 数据库的建立和维护
  5. 其他功能:DBMS的网络通信功能,异构数据库之间的互访和互操作能力。
  • DBMS的特征:数据结构化且统一管理
  1. 有较高的数据独立性
  2. 数据控制功能:数据库的安全性控制,数据的完整性、并发控制、故障恢复。
  • DBMS的分类:
  1. 关系数据库系统RDBS
  2. 面向对象的数据库系统OODBS:两大特点:一是面向对象数据模型能完整地描述现实世界地数据结构,能表达数据间地嵌套和递归。二是具有面向对象的封装性和继承性。
  3. 对象关系数据库系统:在传统地关系数据模型基础上提供元组、数组、集合等数据类型,以及处理新数据类型的能力。
  • 数据库系统的体系结构
  1. 集中式数据库系统
  2. 客户端/服务器结构:ODBC(开放式数据库互连)和JDBC(java程序数据库连接)定义了应用程序接口,实现与数据库的连接,发送查询更新等。数据库服务器可以分为事务服务器(又称查询服务器)和数据服务器(以文件或页面为单位对数据进行读取更新)。
  3. 并行数据库系统:是多个物理上连在一起的CPU。数据库类型可分为两种:共享内存式多处理器(一台计算机有多个活动的CPU,共享单个内存和一个公共磁盘接口)、无共享式并行体系结构(多个活动的CPU有自己的内存和磁盘)
  4. 分布式数据库系统:分为物理上分布、逻辑上集中的分布式数据库结构和物理上、逻辑上都分布的分布式数据库结构两种。后一种由两部分组成:本结点的数据模型、本结点共享其它节点上有关的数据模型。这种数据库结构有利于数据库集成、扩展和重新分配。
  • 数据库管理系统内部的系统结构:三级模式结构。
  1. 数据库由“型”和“值”的概念;“型”是对某一数据的结构和属性的说明。“值”是型的一个具体赋值。
  2. 三级模式:外模式对应视图,模式(也称为概念模式)对应数据库表,内模式对应物理文件。两层映像:外模式-模式映像,模式-内模式映像;两层映像可以保证数据库中的数据具有较高的逻辑独立性和物理独立性。
  3. 数据的逻辑独立性:即逻辑结构发生改变时,用户程序对外模式的调用可以不做修改,只需修改外模式与概念模式之间的映像;物理独立性:即数据库的内模式发生改变时,数据的逻辑结构不变,只需修改概念模式与内模式之间的映像。
    软考之软件设计师——数据库技术基础
  • 大数据:无法用现有软件工具提取、存储】搜索、共享、分析和处理的海量的、复杂的数据集合
  1. 大数据产生的背景:数据来源和承载方式的变革、全球数据量出现爆炸式增长、大数据已经成为一种自然资源、大数据日益重要,不被利用就是成本。
  2. 大数据的特征(4V):大量化、多样化、价值密度低、快速化。
  3. 大数据面临的三大挑战:软件和数据处理能力、资源和共享管理、数据处理的可信力。

2、数据模型

  • 数据模型定义:对现实世界数据特征的抽象
  • 数据模型的三要素:数据结构、数据操作、数据的约束条件。
  • E-R模型(实体与联系模型):E-R模型只能说明实体间的语义联系。需要进一步详细说明数据结构,则需要将其转换成计算机能接受的某种数据模型。
  • E-R模型的各元素
  1. 实体:用矩形表示,是现实世界中可以区别于其他对象的“事件”或“物体”,如学生、老师、课程等。
  2. 联系:用菱形表示,反映实体与实体之间的联系,有1对1、1对多、多对多3种类型,可以有三元联系存在。如学生与课程可以存在多对多的联系。
  3. 属性:用椭圆表示,是实体某方面的特性,体现为表中的属性列名。如学生的学号、年龄等。E-R模型属性的分类:简单属性(不可再分)和复合属性、单值属性和多值属性(双椭圆表示)、NULL属性、派生属性(虚椭圆表示)。
  • 扩充的E-R模型
  1. 弱实体:用双边矩形表示,与依赖的实体以带圆形的线连接,与实体有很强的依赖关系,单独存在没有意义,也体现为某个实体的特殊化对象。如依赖学生的家属实体,依赖邮件的附件实体。
  2. 特殊化:从普遍到特殊的过程,如:学生实体集可以分为研究生、本科生、大专生等子集。特殊化又可以分为:全特殊化(双线连接表示)、部分特殊化(单线连接表示)、不相交特殊化(圆圈中的d表示)、重叠特殊化(圆圈中的o表示)
  3. 普遍化:几个具有共同特性的实体集概括成一个更普遍的实体集的过程。如大专生、本科生、研究生概括为学生。
    软考之软件设计师——数据库技术基础
  • 常见的数据模型:
  1. 层次模型:采用树形结构表示数据与数据间的联系。且根节点以外的其他结点有且仅有一个双亲结点。
  2. 网状模型:也称为DBTG模型,是层次模型的一个特例,能直接地描述现实世界。去掉了层次模型地两个限制,允许两个结点之间有多种联系(复合联系)。
  3. 关系模型:关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。
  4. 面向对象模型:采用面向对象方法设计数据库,以对象为单位,每个对象包含对象的属性和方法,具有类和继承等特点。如Jasmine系统。面向对象模型更具有丰富的表达能力。

关系模型比网状、层次模型更加简单灵活,不过包含更复杂的数据结构的实际应用领域,如CAD数据,图形数据、人工智能等,得采用面向对象模型。

3、关系代数

  • 关系的相关名词:
  1. 主码:从一个关系中的多个候选码中选一个为主码
  2. 候选码:能唯一标识一个元组的某一属性或属性组
  3. 主属性:候选码中的诸属性,不包括在如何候选码中的属性称为非码属性。
  4. 外码:不是该关系中码,但它是其他关系的码
  5. 全码:关系模型中所有的属性组是这个关系模型的候选码。
  • 关系中的3种类型:基本关系(基本表)、查询表、视图表
  • 关系数据库模型:关系数据库中的型也称为关系数据库模式,是关系数据库结构的描述。关系数据库的值是这些关系模式在某一时刻对应关系的集合。
  • 完整性约束:
  1. 实体完整性:主属性A不能取空值。
  2. 参照完整性:实体及实体间的联系用关系来描述,自然就存在着关系与关系间的引用。如员工关系中的部门号属性的取值要参照部门关系中的部门号属性的取值。
  3. 用户定义完整性:某一具体应用涉及的数据必须满足的语义要求,如身份证号码固定多少位。
  4. 触发器

–还有一点内容,这两天更新–