1.1 数据库系统概述:
1.1.1 数据库的组成
1.1.2 数据库系统的特点
1、数据结构化
2、数据的共享性高,冗余度低且易扩充
3、数据独立性高
4、数据由数据库管理系统统一管理和控制
数据的整体结构化是数据库的主要特征之一
整体结构化:
1、不再仅仅针对某一个应用,而是**面向全组织**
2、不仅数据内部结构化,整体是结构化的,数据之间具有联系
3、数据记录可以变长
4、数据的最小存取单位是数据项
数据面向整个系统,可以被多个用户、多个应用共享使用
数据共享的好处
1、减少数据冗余,节约存储空间
2、避免数据之间的不相容性与不一致性
3、使系统易于扩充
物理独立性
指用户的应用程序与数据库中的数据的物理存储是相互独立的。当数据的物理地址存储改变了,应用程序不用改变。
逻辑独立性
指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,应用程序不用改变。
数据独立性由数据库管理系统的二级映像功能来保证。
1.2 数据模型
1.2.1 两类数据模型
数据模型分为两类:(两个不同的层次)
(1)概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计
(2)逻辑模型和物理模型:
1、逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。
2、物理模型是对数据最底层的抽象,描述数据在内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
客观对象的抽象过程:
客观对象的抽象过程:
1.2.2 概念模型
基本要求:
1、较强的语义表达能力
2、简单、清晰、易于用户理解
**概念模型的一种表示方法:**实体-联系方法
实体:(例如:对象、事件、人)
1、对业务活动很重要的“事物”,我们必须知道该“事物”的数据
2、一个可以列举出一系列相似事物的名称
3、通常为名词
实例:实例是实体的一种具体形式
属性:像实体一样,属性用于表示一些对业务活动很重要的信息。(一个属性只有一个值)
1、描述一个实体
2、量化一个实体
3、限定一个实体
4、为实体分类
5、指定了一个实体
注:一个属性只有一个值
易变属性:属性(如年龄)的值是时常变化的。
非易变属性:属性(如订货日期)则几乎不变。
注:如果可以选择属性,请使用非易变属性。(例如:使用出生日期代替年龄)
**标识符:**具有一个唯一标识符(UID)
UID是一个属性或多个属性的组合。
联系:现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体内部的联系:通常是指组成实体的各属性之间的联系。
实体之间的联系:通常是指不同实体集之间的联系。
实体之间的联系有一对一、一对多、和多对多等多种类型。
实体-联系方法:
1、用E-R图来描述现实世界的概念模型
2、E-R方法也称为E-R模型
1.2.3数据模型的组成要素
1、数据结构:是对系统静态特性的描述
2、数据操作:查询、更新(包括插入、删除、修改)
3、数据的完整性约束条件:为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作是,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以**确保数据库中存储的数据正确、有效、相容。**
① 实体完整性:规定表的每一行在表中是唯一的实体。(用主键来实现)
②域完整性:是指表中的列必须满足某种特定的数据类型约束,其中约束又包括取值范围、精度等规定。(数据类型来实现)
③参照完整性:是指两个表的主关键字和外键字的数据应一致,保证表之间的数据一致性,防止了数据的丢失或无意义的数据在数据库中扩散。(用外键来实现)
④用户定义的完整性:针对某个特定关系数据库的约束条件,它反映某一具体应用必须满足的语义要求。(Check或程序来实现)
1.2.4常用的数据模型
1、层次模型:用**树形结构**来表示各类实体以及实体间的联系
特点:结点的双亲是唯一的
只能直接处理一对多的实体联系
每个记录类型可以定义一个排序字段,也称为码字段
任何记录值只有按其路径查看时,才能显示它的全部意义
没有一个子女记录值能够脱离双亲记录值而独立存在
2、网状模型:
用树形结构来表示各类实体以及实体间的联系
1、允许一个以上的节点无双亲
2、一个节点可以有多于一个的双亲
3、网状模型与层次模型的区别:
1、网状模型允许多个节点没有双亲节点
2、网状模型允许节点有多个双亲节点
3、网状模型允许两个节点之间有多种联系(复合联系)
4、网状模型可以更直接地描述现实世界
5、层次模型实际上是网状模型的一个特例
4、关系模型:
1、关系:一个关系对应通常说的一张表
2、元组:表中的一行即为一个元组,也叫记录,行
3、属性:表中的一列即为一个属性,给每一个属性起一个名称即为属性名,也叫列或者字段
4、主码:也称码键。表中的某个属性组,它可以唯一的确定一个元组。(主键)
5、域:是一组具有相同数据类型的值的集合。属性取值范围来自某个域。(数据类型)
6、值:元组中的一个属性值。(值)
关系最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。
5、关系的完整性约束条件:
1、实体完整性
2、域完整性
3、参照完整性
4、用户自定义的完整性
优点:
1、建立在严格的数学概念的基础上
2、概念单一
①实体和各类联系都用关系来表示
②对数据的检索结果也是关系
3、关系模型的存取路径对用户透明
①具有更高的数据独立性,更好的安全保密性
②简化了程序员的工作和数据库开发建立的工作
缺点:
1、存取路径对用户透明,查询效率往往不如格式化数据模型
2、为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度
1.3数据库系统的结构
数据库系统的结构分为:
1、单用户结构
2、主从式结构
3、分布式结构
4、客户-服务器
浏览器-应用服务器 / 数据库服务器多层结构等
1.3.1数据库系统模式的概念
“型”和“值”的概念:
型:对某一类数据的结构和属性的说明
值:是型的一个具体赋值
模式:
1、数据库逻辑结构和特征的描述
2、是型的描述,不涉及具体值
3、反映的是数据的结构及其联系
4、模式是相对稳定的
实例:
1、模式的一个具体值
2、反映数据库某一时刻的状态
3、同一个模式可以有很多实例
4、实例随数据库中的数据更新而变动
1.3.2数据库系统的三级模式结构
模式:也称逻辑模式
1、数据库中全体数据的逻辑结构和特征的描述
2、所有用户的公共数据视图
一个数据库只有一个模式
外模式:(也称子模式或用户模式)
1、数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
2、数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
内模式:(也称存储模式)
1、是数据物理结构和存储方式的描述
2、是数据在数据库内部的表示方式
一个数据库只有一个内模式