数据库系统概述 第一章绪论

一、数据库系统概述

1.数据(Data)

数据是数据库中存储的基本对象

数据是信息的载体,它会代表一定的信息,不同场景代表的含义不一样,比如说90这个数据,可能代表一个人的体重,也可能代表的是一个人的分数。单纯看数字是没有意义的

定义:

描述事物的符号记录称为数据。描述事物的符号可以是数组,也可以是文字,图形,声音,语言等,数据可以有多种表现形式,它们都可以经过数字化后存到计算机中

2.数据库(DB)

数据库是长期存储在计算机内,有组织的,可以共享的大量数据的集合
数据库数据具有永久存储,有组织,可共享三个基本特点

3.数据库管理系统(DBMS)

3.1概念

  • 用来定义和管理数据的软件,可以保证数据的安全性和完整性,比较流行的数据库管理系统有:MySql、Oracle、SQL server、DB2等
  • 比如说我们写了xxx.doc,这个就是一个word文件,那么我们是不是使用word去打开里面的文件,那么word这个软件就当于这里说的DBMS
  • 数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。
    数据库管理系统、数据库和表的关系如图所示:
    在这里插入图片描述
    在这里插入图片描述

3.2主要功能

接下来看看数据库管理系统的主要功能

  • ①数据定义功能

DBMS提高数据定义语言DDL,用户可以通过它来对数据库中的数据对象进行定义

  • ②数据组织,存储和管理

DBMS要分类组织,存储和管理各种数据,包括数据字典,用户数据,数据的存取路径等

  • ③数据操作功能

DBMS提高数据操作语言DML,用户可以使用DML操作数据,实现对数据的插入,修改,删除等基本操作

  • ④数据库的事务管理和运行管理

数据库在建立,运用和维护式由数据库管理系统统一管理,统一控制,以保证数据的安全性,完整性,多用户对数据的并发使用一间发送故障后的系统恢复

  • ⑤数据库的建立和维护功能

数据库初始数据的输入、转换功能,数据库的存储、恢复功能,数据库的重组织功能和性能建设、分析等

4.数据库管理员(DBA)

对数据库管理系统进行操作的人员,主要负责数据库的运营和维护

5.数据库应用系统

在数据库管理系统的基础上,使用数据库管理系统的语法,开发的直接面对最终用户的应用程序,比如:学生管理系统、人事管理系统、图书管理系统

我们可以这样来理解:不是每一个人都可以接触到数据库的,而且接触到数据库也不一定会使用,举个例子:以学生管理系统来说,学生只要点击选课,就代表选到了,点击退选,就把课程给退了,底层其实还是操作数据库,不过这样子对那些不懂数据库的人来说是很方便的。

6.数据库系统(DBS)

数据库系统一般是由数据库,数据库管理系统(及其开发工具),数据库应用系统,数据库管理员组成
在这里插入图片描述

7、数据管理技术的产生和发展

数据管理技术经历了人工管理,文件系统,数据库系统三个阶段

7.1.人工管理阶段

早期计算机处理数据是用纸带,比如纸带有一个小孔就代表1,没有孔代表0,所以无法保存到计算机中,因为它的数据是保存在纸带上面
特点:

  • 数据不保存

  • 应用程序管理数据

  • 数据不共享

  • 数据不具有独立性

    • 数据和应用程序是绑定在一起的

缺点:

  • 数据的逻辑结构或物理结构发生变化后,应用程序必须做相应的修改,加重程序员的负担

7.2.文件系统阶段

用文件系统管理数据有下面的特点

  • 数据可以长期保存(数据保存到文件中)
  • 由文件系统管理数据

缺点

  • 数据共享性差,冗余度大
  • 数据独立性差

7. 3.数据库系统阶段

用数据库系统管理数据具有下面的特点

  • 数据结构化
  • 数据的共享性高,冗余度低,易扩充
  • 数据独立性高
  • 数据由DBMS统一管理和控制
    在这里插入图片描述

二、数据模型的初步认识

数据模型也是一种模型,它是对现实世界数据特征的抽象,数据模型就是现实世界的模拟
像沙盘,航模等就是模型

1.两类数据模型

数据模型要满足三方面要求
①能比较真实地模拟现实世界
②容易被人所理解
③便于在计算机上实现
根据模型应用的不同目的,可以分成两类

1.1 第一类是概念模型

概念模型也称信息模型,它是按照用户的观点来对数据和信息建模,主要用于数据库设计
概念模型是现实世界到机器世界的中间层次,表现为
①概念模型用于信息世界的建模
②现实世界到信息世界的第一层抽象
③数据库设计人员进行数据库设计的有理工具
④数据库设计人员和用户之间进行交流的语言
概念模型的要求:
①具有较强的语义表达能力
②能够方便、直接地表达应用中的各种语义知识
③简单,清晰,易于用户理解

1.2第二类是逻辑模型和物理模型

  • ①逻辑模型

    • 层次模型
    • 网状模型
    • 关系模型
    • 面向对象模型
    • 对象关系模型

    它是按照计算机系统的观点对数据建模,主要用于DBMS的实现

  • ②物理模型

物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的

2.数据模型的组成要素

数据模型通常由数据结构,数据操作和完整性约束三部分组成

  • 数据结构
    • 数据结构描述数据库的组成对象以及对象之间的联系,数据结构是所描述的对象类型的集合,是对系统静态特性的描述

    • 数据操作

      • 数据库主要由查询,更新(包括插入,删除,修改)两大类操作,数据操作是对系统动态特性的描述
    • 数据的完整性约束条件

      • 数据不是随便存的,而是有一定的约束的,数据的完整性约束条件是一组完整性规则,比如说身高体重的数据是数字,不能是图片,音频 。比如规定成绩最低是0分,不可能出现-1分的情况等等
      • 在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件
        • 实体完整性
          • 比如说,身份证号能唯一标识一个人的身份,学号可以唯一标识学生
        • 参照完整性
          • 比如说在学生表中编号001号表示的是学生张三,那么在成绩表中,编号001表示的学生也必须是张三,不能是其他人

三、信息世界中的基本概念

1.相关概念

1.1实体(Entity)

客观存在并且可以相互区别的事物称为实体。
实体可以是人,事,物,也可以是抽象的概念或联系
例如:一个学生,一个部门,学生的一次选课等都是实体

1.2.属性(Attribute)

  • 属性是对实体的描述
  • 实体所具有的某一特征称为属性
  • 一个实体可以由若干个属性来刻画
  • 举例:学生实体可以由学号,姓名,性别,年龄,入学设计等属性组成,这些属性组合起来表征一个学生

1.3.码(Key) 也可以叫关键字

可以唯一标识实体的属性集称为码
也就是说给其中的一个属性值,我们就可以唯一确定一条记录,就比如说给一个身份证号,我们就就可以找到对应的那个人一样
学号是学生实体的码
身份证是人这个实体的码

1.4.域

域是一组由相同数据类型的值的集合。属性的取值范围来自某一个域
比如说:人的性别的域是(男,女)
学生的成绩的域是[0,100]
学生的年龄的域为整数

1.5.实体型(Entity Type)

具有相同属性的实体一定有共同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
比如说张三,李四等学生都有学号,姓名,性别等属性,我们就可以把这些学生归纳成为实体型

1.6.实体集

同一类型的实体的集合称为实体集,比如全体学生就是一个实体集

1.7.联系

实体之间是有联系的,比如说老师和学生之间存在着教书和听课的关系
在现实世界,事物内部,以及事物之间是有联系的,这种联系在信息世界中反映为实体(型)内部的联系是实体(型)之间的联系

实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系

2.两个实体型之间的联系

2.1一对一联系(1:1)

在这里插入图片描述

2.2一对多联系(1:n)

在这里插入图片描述

2.3多对多联系(m:n)

在这里插入图片描述

3.两个以上实体型之间的联系

两个以上的实体型之间也存在着一对一,一对多,多对多联系
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.单个实体型内的联系

在这里插入图片描述
在这里插入图片描述

5.概念模型的一种表示方法:实体-联系图(E-R图)

E-R图提供了表示实体型,属性和联系的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、关系模型

1.关系数据模型的数据结构

  • 关系:一个关系对应通常说的一张表
  • 元组:表中的一行就是一个元组
  • 属性:表中的一列就是一个属性,给每个属性起名就是属性名
  • 码(Key):也称为码键,码也是一个属性,表中的某一个属性组,它可以唯一确定一个元组,比如学生表中的学号,可以唯一确定一个学生
  • 域:属性的取值范围
  • 分量:元组中的一个属性值
  • 关系模式:对关系的描述,一般表示为;关系名(属性1,属性2,…,属性n)
    在这里插入图片描述

2.关系数据模型的操纵与完整性约束

关系型数据模型的操作主要包括查询,插入,删除和更新数据,这些操作必须满足关系的完整性约束
关系的完整性约束包括三大类:
①实体完整性
②参照完整性
③用户定义的完整性

3.关系数据模型的优点

①关系模型和格式化模型不同,它是建立在严格的数学概念的基础上的
②关系模型的概念单一
③关系模型的存取路径对用户透明,从而具有更高的独立性,更好的安全保密性也简化了程序员的工作和数据库开发建立的工作

五、数据库系统结构

1.数据库系统模式的概念

模式是数据库中全体数据的逻辑结构和特征的描述,同一个模式可以有很多的实例,通俗的话来说,比如说模式规定了一个人有眼睛,鼻子等,但是不同的人他们的眼睛,鼻子是不一样的,这个就是实例
模式是抽象的,实例是具体的,我们可以近似理解成像Java的类和对象

例如:在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录
2013年的一个学生数据库实例,包含:
2013年学校中所有学生的记录
学校开设的所有课程的记录
所有学生选课的记录
2012年度学生数据库模式对应的实例与
2013年度学生数据库模式对应的实例是不同的

2.数据库系统的三级模式结构

数据库系统的三级模式是指数据库系统是由外模式,模式和内模式三级构成

模式:数据在数据库中的存储形式,比如二维表

模式也叫逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节的硬件环境,也和具体的应用程序,所使用的高级程序设计语言 无关

外模式:应用程序根据用户的实际需求展示数据

外模式也叫子模式或 用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是和某一应用无关的数据的逻辑表示

内模式:数据在实际物理硬盘如何存储

  • 内模式也叫存储模式
  • 一个数据库只有一个内模式
  • 它是数据物理结构和存储方式的描述
  • 是数据在数据库内部的表示方式
    在这里插入图片描述
  • 外模式通常是模式的子集,一个数据库可以有多个外模式,因为我们一般只是查看数据库中的部分信息
  • 同一个外模式也可以为某一用户的多个应用系统使用,但是一个应用程序只能使用一个外模式。比如说学生成绩表,可以用在查询期末考试成绩这个应用中使用,毕业以后,要查询每一科的成绩也是使用学生成绩这张表
  • 外模式有助于保证数据库的安全性,因为用户只能看见和访问所对应的外模式中的数据,数据库的其他数据是看不见的

3.数据库的二级映像功能与数据独立性

数据库管理系统在三级模式之间提供了两层映像
外模式/模式映像
模式/内模式映像

猜你喜欢

转载自blog.csdn.net/qq_52797170/article/details/124528060