引言
之前数据库的写的很不好看,重新复习编写一下 (虽然这个也挺乱就是了)
数据库的四个基本概念
数据
描述事物的符号记录
数据库
概括地讲,数据库数据具有永久存储、有组织和可共享的三个基本特点
严格地讲,数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易拓展性,并可为各种用户共享
数据库管理系统
是位于用户和操作系统之间的一层数据管理软件。和操作系统一样是计算机的基础软件
主要功能:
- 数据定义功能
- 数据组织、存储和管理
- 数据操纵功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护功能
- 其他功能(通信功能,数据转换功能,互访和互操作功能等)
数据库系统
是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统
计算机数据管理的发展
- 人工管理阶段 (20 世纪 50 年代中期以前)
数据不保存、不共享,不具有独立性
- 文件系统阶段 (20 世纪 50 年代后期至 60 年代中后期)
可保存,但共享性差,冗余度大,独立性差
- 数据库系统阶段 (20 世纪 60 年代 后期开始)
数据库系统的出现使信息系统从以 加工数据的程序为中心 转向围绕 共享的数据库 为中心的新阶段,实现整体数据的结构化
数据的共享性高、冗余度低且易扩充:数据可以大大减少数据冗余,节约存储空间,数据独立性高
数据模型的分类
根据模型应用的不同目的,可将模型分成两类或者两个层次,从信息世界中抽象的数据模型称为概念数据模型,从计算机世界中抽象出的 DBMS (数据库管理系统) 支持的数据模型称为结构数据模型 (或者数据模型)
概念数据模型 (概念模型)
概念数据模型是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构,即按照用户的观点来对数据和信息建模,用于信息世界建模,一般采用实体 – 联系方法 (E-R 方法) 表示。主要用于数据库设计
概念数据模型中的几个常用术语如下:
- 实体:客观存在并可以相互区别的事物称为实体
- 属性:描述实体的特性称为属性
- 码:唯一标识实体的属性集称为码
- 实体型:用实体名及其属性集合来抽象和刻画同类实体
- 实体集:同一类型实体的集合
- 域:属性的取值范围称为该属性的域
- 联系:实体之间的对应关系称为联系两个实体之间的联系有三种类型
- 一对一联系
- 一对多联系
- 多对多联系
实体 – 联系方法表示的概念数据模型称为 E-R 图。实体用矩形,属性用椭圆,并用无向边将其与有关实体连接
结构数据模型 (逻辑模型)
结构数据模型是直接面向数据库的逻辑结构,任何一个 DBMS 都以某个结构数据模型为基础。主要用于数据库管理系统的实现
结构数据模型主要包括:层次、网状、关系和面向对象模型
- 层次模型
层次模型是用 “树结构” 来表示数据之间的联系,它的数据结构是一颗 “有向树”
- 网状模型
网状模型是用 “图结构” 来表示数据之间的联系
- 关系模型
关系模型是一种用二维表格结构来表示实体以及实体之间联系的数据模型。每个二维表由行、列组成,又可称为关系,关系模式是对关系的描述。因此可以说,关系模型是由关系模式组成的集合
物理模型
是对数据最底层的抽象,它描述数据在系统内部的表述方法和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的
数据库系统的结构
数据库产品很多,存储结构也各不相同,但体系结构基本上都具有相同的特征,采用 “三级模式和两级映像”
三级模式
- 概念模式 (基本表)
也称为模式或逻辑模式,是数据库中全部数据的逻辑结构和特征的描述,是所有用户的公共数据视图
- 外模式 (视图)
也称为用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述
- 内模式 (存储文件)
也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
两级映像
数据库系统在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像
正因为这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性
- 模式/内模式映像 (存储)
存在于概念级和内部级之间,实现了概念模式和内模式之间的相互转换
当数据库的存储结构改变时,有数据库管理员对模式 / 内模式作相应改变,可以使模式保持不变,从而应用程序也不用改变。保证了数据与程序的物理独立性
- 外模式/模式映像 (视图)
存在于外部级和概念级之间,实现了外模式和概念模式之间的相互转换
当模式改变时,由数据库管理员对各个外模式 / 模式映像作相应改变,可以使外模式保持不变。应用程序不必修改。保证了数据与程序的逻辑独立性
数据的独立性是指数据与程序独立,将数据的定义从程序中分离出去。数据的独立性是由 DBMS 的二级映像功能来保证的。数据的独立性包括数据的物理独立性和数据的逻辑独立性
- 数据的物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独立的
- 数据的逻辑独立性:指用户的应用程序与数据库中的逻辑结构是相互独立的
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据的存取由数据库管理系统管理,从而简化了应用程序的编制,大大减少了应用程序的维护和修改
数据库系统的组成
- 硬件平台及数据库
足够大的内存、磁盘或磁盘阵列等设备,较高的通道能力以提高数据的传送率
- 软件
数据库管理系统,支持数据库管理系统运行的操作系统,具有与数据库接口的高级语言及其编译系统,以数据库管理系统为核心的应用开发工具,为特定应用环境开发的数据库应用系统
- 人员
开发、管理和使用数据库的人员主要包括数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户
数据库管理员职责:决定数据库中信息内容和结构、决定数据库的存储结构和存取策略、定义数据的安全性要求和完整性约束条件、监控数据库的使用和运行、数据库的改进和重组、重构