编程序的过程中,总是要用到数据库,但是用了半天对它的原理,还是糊里糊涂的,所以决定系统的学习一遍数据库系统的原理。
以下正式的摘写一些我所看数据库原理书的一些知识点。
一些定义
数据库,就是按照一定的数据模型组织的、长期存储在计算机内、可为多个用户共享的数据的聚集。
数据库管理系统,是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。DBMS不仅具有最基本的数据管理功能,还能保证数据的完整性、安全性,提供多用户的并发控制,当数据库出现故障时对系统进行恢复。
数据库系统的体系结构
数据库可以分为三层模式和两层映像。由外到内依次为:外模式、模式、内模式。
外模式--------又称为用户模式,主要和用户进行交互,使后面的存储细节对用户封装起来。
模式----------是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征描述。
内模式--------又称为存储模式,是数据库物理结构和存储方式的描述。
数据按外模式的描述提供给用户,按内模式的描述存储在硬盘上,而模式就是这两者的中间件,可以独立于具体的存储设备和具体的应用程序。
外模式/模式映像、模式/内模式映像
数据库管理系统的体系结构
DBMS系统主要组成部分如图所示。
查询处理程序主要负责和用户交互,存储管理程序主要负责和磁盘交互,事务管理系统负责对数据库的正常工作提供保障。
两种数据库建模工具
数据库建模,就是对现实世界进行分析、抽象,并从中找出内在联系,进而确定数据库的结构。其中包括确定最基本的数据结构、对约束建模
对象定义语言(ODL)和实体-联系图(E-R图)
关系模型
用上面的数据库建模工具将数据库设计出来之后,还需要将其转化为关系模型。
关系模型:用称为关系的二维表来表示数据,其数据模型就称为关系模型。二维表的行称为元组,列以属性开头,对于每个属性都有元组的一个分量与之对应
模式与实例:关系的名称和属性集总称为关系的模式。
E-R图的三种结构到关系模型的转化:
1、实体集
2、联系
3、子集
SQL语言学习
查询数据
SELECT 列 FROM 表 WHERE 条件
将查询出结果的列改名
SELECT 列 AS 新名称 FROM 表
在查询语句中可以做简单的运算