§5.2数据库技术


我们身边的数据库应用
☆在超级市场购物 ☆用信用卡消费 ☆使用图书馆系统 ☆学籍及成绩管理

☆基于WWW的Web数据库系统
WWW系统实际是一个大型的分布式超媒体信息数据库,是目前Internet的主流信息服务方式。客户端只要使用Web浏览器,通过Internet访问Web站点,就可获取其所需要的信息和资源。Web服务方式提供了大量的在线服务和信息。


1. 数据库系统的组成
数据库系统(Data Base System)是一个提供数据存储、查询、管理和应用的软件系统,是存储介质、处理对象和管理系统的集合体。由四部分组成:数据库( DB)、数据库管理系统( DBMS)、数据库应用系统和数据库用户。

数据库( DataBase)
数据库是用来存储数据的,它是按一定结构存储在计算机中相互关联的数据的集合。例如,可以将描述学生的姓名、年龄、性别、家庭住址,E-mail信箱等相关信息存储在一个数据库中。
数据库管理系统(DataBaseManagement System)
定位于用户与操作系统之间的一类通用软件系统,能够对数据库进行有效的管理,这其中包括存储管理、安全性管理、完整性管理等,可以对数据库进行包括定义、查询、更新以及各种控制等操作。它是在数据库系统中对数据进行管理的系统软件,是数据库系统的核心组成部分。
数据库应用系统(DatabaseApplication Systems)
它是针对某一个实际应用管理对象而进行设计开发的面向用户的软件系统。它是建立在DBMS基础之上,具有较好的人机交互操作性和友好的用户界面。如学生管理系统、图书馆管理系统、民航售票系统等都是数据库应用系统。
数据库用户
数据库系统中有多种用户,他们分别扮演不同的角色,承担不同的任务。


2. 数据库系统的特点
☆可实现数据共享 ☆可减少数据冗余 ☆可实施标准化
☆可保证数据安全 ☆可保证数据的完整性
3.由现实世界到数据世界
获得一个数据库管理系统所支持的数据模型的过程,是一个从现实世界的事物出发,经过人们的抽象,以获得人们所需要的概念模型和数据模型的过程。

现实世界
个体(对象、实体):一个实际存在且可以识别的事物。
如:一个人、一台计算机、某人的爱好与性格。
全体:相同特征个体的集合。
概念世界又称信息世界
它是经过选择、命名、分类等抽象过程产生的概念模型,是对信息世界的建模。
实体:客观存在且可以相互区别的事物。如:学生。
属性:用于描述实体的某些特征。如学号、姓名、性别、年龄等属性描述属性值的集合表示一个实体。
唯一标识实体的属性或属性集称为键(Key)
数据世界
用数据化表示信息。此时个体称为记录,属性称为字段,实体集称为文件或者表
4. 关系数据库模型
模型(Model)是对客观世界中复杂对象的抽象描述,在数据库系统中,用数据的观点来描述现实世界,就获得了它的数据模型。目前,数据库领域中最常用的数据模型是关系模型,它是IBM公司的Codd在层次模型和网状模型的基础上提出的关系理论构建的,使用关系模型的数据库称为关系型数据库。
关系模型是一种用二维表表示实体集、主键标识实体、外键表示实体间联系的数据模型。现实世界的实体以及实体间的各种联系都用关系来表示,数据的逻辑结构是一张二维表。表是由行和列组成的矩阵。目前,关系数据库在数据库管理领域占主导地位。

5.关系数据库中概念模型的表示方法:E-R图
有很多方法可以表示概念模型,其中最常用的一种是E-R图,也称为实体—联系图。E-R图来描述现实世界的模型,是数据设计的有力工具。
构成E-R图的基本要素是实体、属性和联系,用到的符号包括矩形、椭圆形、菱形及其连线。
![]()
约定:矩形框表示实体,椭圆形表示属性,菱形框表示实体间的联系,用无方向的连线将框与其关联的实体连接起来。
由E-R图导出关系数据模型

在学生成绩E-R图中,有三个实体:学生、教师、课程,把每一个实体转换为一个关系:
学生(学号,姓名,性别,年龄,专业)
课程(课程号,课程名,学时,学分)
教师(教工号,姓名,职称)
两个不同实体集之间的联系有三种类型:
☆一对一联系(1:1) ☆一对多联系(1:n) ☆多对多联系(m:n)
用E-R模型表示的实体联系例子
6. 关系模型的基本概念及性质
☆关系模型的基本概念
关系、关系名、元组、属性、值域、主键、外键。

☆关系模型的性质
(1)关系中每个属性值是不可分解的。
(2)关系中每个元组代表一个实体,因此不允许存在两个完全相同的元组。
(3)元组的顺序无关紧要,可以任意交换,不会改变关系的意义。
(4)关系中各列的属性值取自同一个域,故一列中的各个分量具有相同性质。
(5)列的次序可以任意交换,不改变关系实际意义。
☆关系模型支持的三种基本运算
(1)选择(Selection)
选择运算是根据给定的条件,从一个关系中选出一个或多个元组(表中的行)组成一个新的关系。是原关系的子集。
(2)投影(Projection)
投影就是从一个关系中选择某些特定的属性(表中的列)重新排列组成一个新关系,投影之后属性减少,新关系中可能有一些行具有相同的值。
(3)连接(Join)
连接运算是从两个或多个关系中选取属性间满足一定条件的元组,组成一个新的关系。

7. 关系完整性,对关系的某种约束条件
(1)实体完整性(Entity Integrity)
实体完整性是针对基本关系的,一个基本表通常对应于现实世界中的一个实体集。如:学生(学号,姓名,性别,年龄,专业)关系中,学号作为主属性,不能取空值。
(2)参照完整性(Referential Integrity)
现实世界中的实体之间往往存在某种联系,这样就会存在关系之间的引用。参照完整性实质上反映了“主键”属性与“外键”属性之间的引用规则。如:成绩(学号,课程号,成绩)和课程(课程号,课程名,学时),成绩关系中的“课程号”必须是实际存在的课程号,即它的取值需要参照课程关系的“课程号”的值。这两个关系存在着属性的引用。
(3)用户定义完整性(User defined Integrity)
实体完整性和参照完整性是任何关系数据库系统都必须支持的。例如:可以规定学生成绩取值限定在0~100之间。
8. 数据库应用系统设计
关系数据库应用系统的设计过程可按以下步骤进行:
(1)数据库系统需求分析
(2) 数据库概念设计
(3) 数据库逻辑设计
(4)关系的规范化
(5)数据库的创建与维护

