一、数据库系统概述
1.数据(Data)
数据是数据库中存储的基本对象
定义:
2.数据库(DB)
数据库是长期存储在计算机内,有组织的,可以共享的大量数据的集合
数据库数据具有永久存储,有组织,可共享三个基本特点
3.数据库管理系统(DBMS)
3.1概念
- 用来定义和管理数据的软件,可以保证数据的安全性和完整性,比较流行的数据库管理系统有:MySql、Oracle、SQL server、DB2等
- 比如说我们写了xxx.doc,这个就是一个word文件,那么我们是不是使用word去打开里面的文件,那么word这个软件就当于这里说的DBMS
- 数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。
数据库管理系统、数据库和表的关系如图所示:
3.2主要功能
接下来看看数据库管理系统的主要功能
- ①数据定义功能
- ②数据组织,存储和管理
- ③数据操作功能
- ④数据库的事务管理和运行管理
- ⑤数据库的建立和维护功能
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.域
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的类和对象
2.数据库系统的三级模式结构
数据库系统的三级模式是指数据库系统是由外模式,模式和内模式三级构成
模式:数据在数据库中的存储形式,比如二维表
外模式:应用程序根据用户的实际需求展示数据
内模式:数据在实际物理硬盘如何存储
- 内模式也叫存储模式
- 一个数据库只有一个内模式
- 它是数据物理结构和存储方式的描述
- 是数据在数据库内部的表示方式
- 外模式通常是模式的子集,一个数据库可以有多个外模式,因为我们一般只是查看数据库中的部分信息
- 同一个外模式也可以为某一用户的多个应用系统使用,但是一个应用程序只能使用一个外模式。比如说学生成绩表,可以用在查询期末考试成绩这个应用中使用,毕业以后,要查询每一科的成绩也是使用学生成绩这张表
- 外模式有助于保证数据库的安全性,因为用户只能看见和访问所对应的外模式中的数据,数据库的其他数据是看不见的
3.数据库的二级映像功能与数据独立性
数据库管理系统在三级模式之间提供了两层映像
外模式/模式映像
模式/内模式映像