【2024软考架构师自学笔记】5. 数据库设计基础知识


5.1 数据库基本概念

5.1.1 数据库技术的发展及分类

  • 基本概念
    • 数据(Data):是描述事物的符号记录,它具有多种表现形式,如文字、图形、图像、声音和语言等。
    • 数据库系统(DataBase System,DBS):是一个采用了数据库技术,有组织地、动态地存储大量相关联数据,从而方便多用户访问的计算机系统。
    • 数据库(DataBase,DB):是统一管理的、长期储存在计算机内的,有组织的相关数据的集合。
    • 数据库管理系统(DataBase Management System,DBMS):是数据库系统的核心软件,是由一组相互关联的数据集合和一组用以访问这些数据的软件组成。DBMS 通常分三类:关系数据库系统(Relation DataBase System,RDBS)、面向对象的数据库系统(Object-Oriented DataBase Systems,OODBS)、对象关系数据库系统(Objective Relational DataBase System,ORDBS)。
  • 发展阶段
    (1)人工管理阶段。
    特点:数据量较少、数据不保存、没有软件系统对数据进行处理。
    缺点:应用程序与数据之间依赖性太强、数据组与数据组之间存在数据冗余。
    (2)文件系统阶段。
    特点:数据可长期保留、数据不属于某个特定应用、文件组织形式多样化。
    缺点:数据冗余、数据不一致性、数据孤立。
    (3)数据库系统阶段。
    特点:采用复杂的数据模型表示数据结构、有较高的数据独立性。
    优点:对应用程序的高度独立性、数据的充分共享性、操作方便性。

5.1.2 数据模型

  • 数据模型定义:数据库的基础结构是数据模型,是用来描述数据的一组概念和定义。
  • 数据模型的三要素:数据结构、数据操作和数据的约束条件。
  • 数据的约束条件:
    (1)实体完整性。实体完整性是指实体的主属性不能取空值。
    (2)参照完整性。在关系数据库中主要是指外键参照的完整性。若 A 关系中的某个或者某些属性参照 B 关系或其他几个关系中的属性,那么在关系 A 中该属性要么为空,要么必须出现在 B关系或者其他的关系的对应属性中。
    (3)用户定义完整性。用户定义完整性反映的是某一个具体应用所对应的数据必须满足一定的约束条件。例如,软考成绩不能小于0,也不能大于75。
  • 按照不同的数据模型,可以将数据库的发展历史分为3个阶段:
    • 层次和网状数据库系统
      • 层次模型:采用树形结构表示数据与数据间的联系。
      • 网状模型:采用网络结构表示数据间联系的数据模型称为网状模型。
    • 关系数据库系统
      关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。
    • 第三代数据库系统:NoSql数据库

5.1.3 数据库管理系统

  • DBMS定义:DBMS 是数据库系统的核心软件,是由一组相互关联的数据集合和一组用以访问这些数据的软件组成。
  • DBMS功能:数据定义、数据库操作、数据库运行管理、数据组织、存储和管理、数据库的建立和维护。
  • DBMS特点:数据结构化且统一管理、有较高的数据独立性、数据控制功能(对数据库中数据的安全性、完整性、并发和恢复的控制)。

5.1.4 数据库的三级模式

  • 数据库三级模式:
    • 外模式(视图层):也称用户模式或子模式,是用户与数据库系统的接口。对应的是用户视图。
    • 概念模式(逻辑层):也称模式,是数据库中全部数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及“型”的描述,不涉及具体的值。是数据库核心,对应的是数据库表结构。
    • 内模式(物理层):也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。对应的是具体存储文件。
  • 二级映射关系:
    • 外模式与概念模式映射:可以保证数据逻辑独立性,即外部的应用程序与逻辑结构的基本表相互独立,当逻辑表发生变化时,应用程序不需相应修改,仅需要修改映射关系。
    • 内模式与概念模式映射:可以保证数据库物理独立性,即应用程序与内模式相互独立,当内模式的物理存储发生变化时,应用程序不需要变化。例如:数据迁移时,不需要修改应用程序。

5.2 关系数据库

5.2.1 关系数据库基本概念

关系数据库系统是支持关系数据模型的数据库系统。

  • 基本术语
    • 属性 (Attribute):字段、列
    • 域 (Domain):取值范围
    • 目或度 (Degree):属性的个数
    • 元组:记录、行
    • 候选码/键 (Candidate Key):能唯一的标识一个元组,可以是多个属性组合,可以有多个候选键。
    • 主码 (Primary Key):主键
    • 外码 (Foreign Key):外键
    • 全码 (All-key):关系模型的所有属性组是这个关系模式的候选码,称为全码。
    • 主属性和非主属性:组成候选码的属性就是主属性,其他为非主属性。
  • 关系数据库模式
    使用R(U,D,dom,F)表示,R表示关系名; U是组成该关系的属性名集合; D是属性的域; dom是属性向域的映像集合;F为属性间数据的依赖关系集合。通常将关系模式简记为:R(U) 或R(A1,A2,A3,…,An)
  • 关系的完整性约束
    • 实体完整性约束:必须有主键,不能为空,且唯一
    • 参照完整性约束:关系关系之间的引用约束
    • 用户自定义完整性约束:用户自定义的约束,例如:取值范围

5.2.2 关系运算

  • 集合运算
    • 并∪:若关系R和关系S是同构的(即并相容性:列数相同,且对应列的数值类型相同),则R和S的并运算结果为R和S所有记录(去除重复),记作:R∪S
    • 交 ∩:若关系R和关系S是并相容的,则关系R和关系S的交运算结果为R和S中都出现的元素,记作:R∩S
    • 差 - :若关系R和关系S是并相容的,则关系R和关系S的差运算结果为出现在R中但不出现在S中的元素,记作:R-S
    • 笛卡尔积 ×:关系R和关系S的笛卡尔积运算结果为:列相加(重名的用R.a、S.a表示),行相乘,记作R×S
  • 关系运算
    • 选择 σ:选择又称限制,它是在关系R中选择满足给定条件的诸元组。例如:查询信息系IS全体学生 σSdept=‘IS’(Student),查询年龄小于20岁的男生:σSage<20(Student)
    • 投影 Π:关系R上的投影是从R中选择出若干属性列组成新的关系。记作∏A(R)={t[A] | t∈R} 其中A为R的属性列。投影操作是从列的角度进行的运算。例如:查询学生的姓名和所在系 ∏Sname,Sdept(Student)。查询学生关系Student都有哪些系 ∏Sdept(Student)
    • 连接 θ:也称为θ连接,它是从两个关系的笛卡儿积中选择属性间满足一定条件的元组。
      • 等值连接
      • 自然连接:记作R▷◁S,自然连接是一种特殊的等值连接,它是R和S去除重复的属性列之和,同名属性列取值相等。
      • 此外,还有外连接,左外连接,右外连接。
    • 除 ÷:设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,则T的元组与S的元组的所有组合都在R中。例如:查询选修了全部课程的学生号码和姓名:∏Sno,Cno(SC)÷∏Cno(Course)▷◁∏Sno,Sname(Student)
    • </
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值