什么是数据库?
数据库是一个以某种有组织的方式存储的数据集合。也就是:保存有组织数据的容器(一个文件或一组文件)
为什么我们需要数据库?毫无疑问,数据库是用来存储数据的。我们对excel肯定不会陌生,excel也是用来存储数据。那既然有excel这样非常好用的软件了,为什么需要数据库呢??
excel存储的数据量太少了。由于我们网络发展,excel的存储量远远不能支撑我们的需求。
excel数据无法多人共享。excel只是一个单一的文件,只能是当前的用户使用并修改。
数据安全性。对excle数据的修改是很随意的。
数据库就解决了上面的问题,并且数据库以特殊的机制管理数据文件,对数据有极高的读写速度,大大超过了操作系统对常规文件的读写速度。
数据库系统的组成数据库系统由三个层次组成:
数据库(dataBase)
存放数据的仓库,按照一定的格式(有组织的方式)进行储存
数据库管理系统(dataBase Manager System)
建立、管理、维护数据库的系统软件
数据库应用系统(dataBase Application System)
使用到数据库技术的应用软件
数据描述与数据模型 理解数据描述我们在现实生活中描述一个事物是非常简单的,看到“一棵树”,就说是“一棵树”。
但怎么把“一棵树“在计算机描述起来呢??计算机只识别0和1,”一棵树“是不能直接存储到计算机上的!
于是乎,我们就把”一棵树“抽象出来,形成信息世界的概念模型。然后将概念模型的形式化成是DBMS支持的数据模型,存储在计算机中。
简单来说:数据描述就是将现实世界中的实物抽象出来,形成概念模型。把概念模型的形式转换成是DBMS支持的类型,然后存储到计算机中!
理解数据模型数据模型主要用来描述数据!上边已经说了,当我们想在计算机上存储现实事物的数据时,需要先抽象成概念模型。将概念模型转换成DBMS支持的数据模型,就可以把事物存储到计算机中!
数据模型一般由三个部分组成:
数据结构(对象与对象之间的关系)
数据操作(增删改查)
完整性约束(限定数据是有一定规则的,比如:年龄不能为负数)
数据模型也经历了一个发展阶段:
①:层次模型,是一种树型(层次)结构来组织数据的数据模型。
优点:
结构清晰,容易理解
节点之间联系可以通过指针来实现,查询效率高
缺点:
对于非层次结构的数据,表示起来非常麻烦,不直观!
②:网状模型, 是用有向图结构来组织数据的数据模型
优点:
非常灵活,更能直接地描述现实世界的事物
缺点:
结构复杂,非常难维护
③:关系模型,是一种用二维表格结构表示数据及数据之间联系的数据模型。
关系模型是我们现在用得最多的数据模型。
优点:
数据结构简单、清晰。无论实体还是实体集,都用相对应的二维表来表示!
有严格的数学理论根据。各种关系运算(后面会讲到)
缺点:
查询效率比非关系模型查,尤其是多表查询的时候!
术语(基本概念)我们对照着课程关系表来讲解吧:
实体(Entity)客观存在并可相互区别的事物称之为实体。可以看成是Java类
例子:(课程关系表)就是一个实体。
属性(Attribute)实体所具有的某一特性称之为属性。可以看成是Java类的成员变量。属性在数据库中又称为字段(或者是列)
例子:(课程名),(课程号)、(学时)就是属性名。
元组除含有属性名所在的行之外的其他行称之为元组。
下面的每一行数据都称之为元组
(C401001 数据结构 70)
(C401002 操作系统 80)
(C402001 计算机原理 60)
码也被称作是关键字。它可以唯一标识一个实体。
候选码和主码: