1.1数据库的4个基本概念
1.数据(Data):描述事物的符号
注:数据的含义称为数据的语义,数据与其语义是不可分的。
2.数据库(DataBase,DB):是长期储存在计算机内,有组织的,可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
3.数据库管理系统(DataBase Management System,DBMS): 用户与操作系统之间的一层数据管理软件,计算机的基础软件。
在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
功能:
1.数据定义功能:DDL(数据定义语言)
2.数据组织、存储和管理
3.数据操纵功能:DML(数据操纵语言)
4.数据库的事务管理和运行管理
5.数据库的建立和维护功能
6.其他功能
4.数据库系统(DBS):是由数据库、数据库管理系统、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统
特点:
1.数据结构化:数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别
。
整体”结构化:数据库中的数据不再仅仅针对某一个应用,而是面向整个组织或企业;不仅数据内部是结构化的,整体是结构化的,数据之间是有联系的
2.数据的共享性高、冗余度低且易扩充:
避免数据之间的不相容性与不一致性
3.数据独立性高
数据独立性:
物理独立性:用户的应用程序与数据库中数据的物理存储是相互独立的
逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的。
4.数据由DBMS统一管理和控制
数据的安全性保护:保护数据以防止不合法使用造成的数据泄密和破坏
数据的完整性检查:数据的正确性、有效性和相容性
并发控制
数据库恢复
1.2数据模型
数据模型(data model):是对现实世界数据特征的抽象。来描述数据、组织数据和对数据进行操作的
数据模型是数据库系统的核心和基础
两类数据模型:
第一类:概念模型
第二类:逻辑模型和物理模型
概念模型
实体(entity):客观存在并可相互区别的事物。
属性(attribute):实体所具有的某一特性。
码(key)唯一标识实体的属性。
实体型(entity type)用实体名及其属性名集合来抽象和刻画同类实体。
实体集(entity set):同一类型实体的集合。如:全体学生
联系(relationship):实体之间的联系通常是指不同实体集之间的联系。
实体之间的联系:一对一,一对多,多对多
概念模型的一种表示方法:实体-联系方法。。该方法用E-R图来描述现实世界的概念模型,E-R 方法也称为E-R模型。
数据模型的构成:
数据结构:描述数据库的组成对象以及对象之间的联系
数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。
数据的完整性约束条件:是一套完整性规则。
常用的数据模型
逻辑数据模型:
层次模型
网状模型
关系模型
面向对象数据模型
对象关系数据模型
半结构化数据模型
基本层次联系:指两个记录以及它们之间的一对多(包括一对一)的联系。
层次模型
层次模型:树形结构表示实体与实体间的联系。
1.层次模型的数据结构
在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:
(1)有且只有一个结点没有双亲结点,这个结点称为根节点;
(2)根以外的其他结点有且只有一个双亲结点
特点:像一棵倒立的树,结点的双亲是唯一的。
基本特点:任何一个给定的记录值只能按其层次路径查看,没有一个子女记录值能够脱离双亲记录值而独立存在。
2.层次模型的数据操纵与完整性约束
操纵:查询,插入,删除,更新
插入操作时,如果没有相应的双亲结点值就不能插入它的子女结点值。
删除操作时:如果删除双亲结点值,则相应的子女值也将被同时删除
3.层次模型的优缺点
优点:
本身比较简单,便于在计算机内实现
从根结点到树中任一结点均存在一条唯一的层次路径
较高的处理效率
完整性支持
性能优于关系数据模型,不低于网状数据模型
缺点:
现实中的很多联系是非层次性的。如多对多,一个结点有多个双亲
对插入、删除限制比较多
查询子女结点必须通过双亲结点
结构严密,层次命令趋于程序化
网状模型
1.网状模型的数据结构
满足两个条件:
(1)允许一个以上的结点无双亲
(2)一个结点可以有多于一个的双亲
层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中这种联系可以不唯一
2.网状模型的数据操纵与完整性约束
3.网状模型的优缺点
优点:
更直接地描述现实世界
良好的性能,存取效率较高
缺点:
结构复杂,不利于最终用户掌握
DDL,DML复杂
数据独立性差——用户必须了解系统结构的细节
关系模型
1.关系模型的数据结构
关系:一个关系对应通常说的一张表。
元组:表中的一行即为一个元组。
属性:表中的一列即为一个属性,给每一个属性起一个名称即为属性名。
码:也称为码键。表中的某个属性组,它可以唯一确定一个元组。
域:一组具有相同数据类型的值的集合。
分量:元组中的一个属性值。
关系模式:对关系的描述,一般表示为
关系名(属性1,属性2,……,属性n)
关系模型要求关系必须是规范化的。
关系规范化最基本的一条:关系的每一个分量必须是一个不可分的数据项。
2.关系模型的数据操纵与完整性约束
数据操纵:查询,插入,删除,更新数据
完整性约束条件:实体完整性,参照完整性,用户定义的完整性
3.关系模型的优缺点
优:建立在严格的数学概念的基础上
关系模型的概念单一
更高的数据独立性,更好的安全保密性,简化了程序员的工作和数据库开发建立的工作
缺:查询效率不如格式化的数据模型
1.3 数据库系统的结构
模式是相对稳定的,而实例是相对变动的。
1.模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
2.外模式:也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
3.内模式:也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的内在组织方式。
数据库的三级模式结构是指数据库是由外模式,模式,内模式三级构成。
数据库的二级映像功能与数据独立性
外模式/模式映像:保证数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映像:保证数据的物理独立性
两层映像:
①外模式、模式映像:当模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据逻辑独立性。
②模式/内模式映像:当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。
1.4.数据库系统的组成:
1.硬件平台及数据库
2.软件
3.人员(数据库管理员、系统分析员、数据库设计人员、应用程序猿、最终用户)
数据库管理员的职责:①决定数据库中的信息内容和结构②决定数据库的存储结构和存取策略③定义数据的安全性要求和完整性约束条件④监控数据库的使用和运行⑤数据库的改进和重组、重构。