数据库是一个以某种有组织的方式存储的数据集合。也就是:保存有组织数据的容器(一个文件或一组文件)数据库
毫无疑问,数据库是用来存储数据的。咱们对excel确定不会陌生,excel也是用来存储数据。那既然有excel这样很是好用的软件了,为何须要数据库呢??数组
数据库就解决了上面的问题,而且数据库以特殊的机制管理数据文件,对数据有极高的读写速度,大大超过了操做系统对常规文件的读写速度。安全
数据库系统由三个层次组成:markdown
咱们在现实生活中描述一个事物是很是简单的,看到“一棵树”,就说是“一棵树”。网络
但怎么把“一棵树“在计算机描述起来呢??计算机只识别0和1,”一棵树“是不能直接存储到计算机上的!数据结构
因而乎,咱们就把”一棵树“抽象出来,造成信息世界的概念模型。而后将概念模型的形式化成是DBMS支持的数据模型,存储在计算机中。编码
简单来讲:数据描述就是将现实世界中的实物抽象出来,造成概念模型。把概念模型的形式转换成是DBMS支持的类型,而后存储到计算机中!操作系统
数据模型主要用来描述数据!上边已经说了,当咱们想在计算机上存储现实事物的数据时,须要先抽象成概念模型。将概念模型转换成DBMS支持的数据模型,就能够把事物存储到计算机中!指针
数据模型通常由三个部分组成:excel
数据模型也经历了一个发展阶段:
①:层次模型,是一种树型(层次)结构来组织数据的数据模型。
优势:
缺点:
②:网状模型, 是用有向图结构来组织数据的数据模型
优势:
缺点:
③:关系模型,是一种用二维表格结构表示数据及数据之间联系的数据模型。
关系模型是咱们如今用得最多的数据模型。
优势:
缺点:
咱们对照着课程关系表来说解吧:
客观存在并可相互区别的事物称之为实体。能够当作是Java类
例子:(课程关系表)就是一个实体。
实体所具备的某一特性称之为属性。能够当作是Java类的成员变量。属性在数据库中又称为字段(或者是列)
例子:(课程名),(课程号)、(学时)就是属性名。
除含有属性名所在的行以外的其余行称之为元组。
下面的每一行数据都称之为元组
(C401001 数据结构 70)
(C401002 操做系统 80)
(C402001 计算机原理 60)
码也被称做是关键字。它能够惟一标识一个实体。
候选码和主码:
例子:邮寄地址(城市名,街道名,邮政编码,单位名,收件人)
它有两个候选键:{城市名,街道名} 和 {街道名,邮政编码}
若是我选取{城市名,街道名}做为惟一标识实体的属性,那么{城市名,街道名} 就是主码
关系名和其属性集合的组合称之为关系模式。
关系模式例子:课程关系表(课程号,课程名,学时)
提示:关系模型就是关系模式组成的集合
关系模型要求元组的每个份量都是原子性的,也就是说,它必须属于某种元素类型,如Integer、String等等,不能是列,集合,记录,数组!
域就表明着该元组中每一个份量的类型,从上面的图咱们能够看出,它的域是这样的:课程号:string,课程名:string,学时:int
数据库的体系内部结构咱们能够分为三层:
三级模式的位置:
三级模式的做用:
逻辑模式是对数据库所有数据的总体逻辑结构的描述。
例子:如今我有一个数据库,操做权限、角色、用户之间的关系
因而有了如下的关系模式
在数据库中全部关系模式的集合就组成了逻辑模式!
外模式是对数据库用户能看见和使用的局部数据逻辑结构的描述,是与某一应用有关的数据的逻辑表示。
外模式是能够有多个的,外模式是用户和DBAS的接口,是对局部逻辑结构的描述!
当用户应用程序只须要显示用户名称和密码时:
在数据库中操做局部逻辑结构就称做为外模式!
内模式是对数据库表物理存储结构的描述。它定义了数据的内部记录类型、记录寻址技术、索引和文件的组织方式及数据控制方面的内容
两级映像分别是:
提出两级映射的概念有什么用呢?为何须要有这两级映像呢??
也就说:在改变内部结构的时候,只要不会触及外部的数据时,外部的数据并不须要作改变。两级映像概念的提出也就是程序中耦合的问题!