
任务1-2 理解数据描述
【任务分析】
为了使用计算机来管理现实世界的事物,技术人员必须将要管理的学生信息转换为计算机能够处理的数据。在理解了数据、信息及数据处理的概念后,要明确怎样得到需要的数据。
【课堂任务】
理解客观存在的事物转换为计算机存储的数据需经历的3个领域及相关概念。
● 现实世界
● 信息世界及相关术语
● 数据世界
人们把客观存在的事物以数据的形式存储到计算机中,经历了3个领域:现实世界、信息世界和数据世界。
(一)现实世界
现实世界是存在于人们头脑之外的客观世界。现实世界存在各种事物,事物与事物之间存在联系,这种联系是由事物本身的性质决定的。例如,学校中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩;图书馆中有图书、管理员和读者,读者借阅图书,管理员对图书和读者进行管理等。
(二)信息世界

微课1-2:信息世界
信息世界是现实世界在人们头脑中的反映,人们把它用文字或符号记载下来。在信息世界中,有以下与数据库技术相关的术语。
1. 实体(Entity)
客观存在并且可以相互区别的事物称为实体。实体可以是具体的事物,也可以是抽象的事件。例如,一个学生、一本图书等属于实际事物;教师的授课、借阅图书、比赛等活动是比较抽象的事件。
2. 属性(Attribute)
描述实体的特性称为属性。一个实体可以用若干个属性来描述,如学生实体由学号、姓名、性别、出生日期等若干个属性组成。实体的属性用型(Type)和值(Value)来表示,例如,学生是一个实体,学生姓名、学号和性别等是属性的型,也称属性名;而具体的学生姓名如“张三”“李四”,具体的学生学号如“2002010101”,描述性别的“男”“女”等是属性的值。
3. 码(Key)
唯一标识实体的属性或属性的组合称为码。例如,学生的学号是学生实体的码。
4. 域(Domain)
属性的取值范围称为该属性的域。例如,学号的域为10位整数,姓名的域为字符串集合,年龄的域为小于28的整数,性别的域为男、女等。
5. 实体型(Entity Type)
具有相同属性的实体必然具有共同的特征和性质,用实体名及其属性名的集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生日期,系)就是一个实体型。
6. 实体集(Entity Set)
同类实体的集合称为实体集,如全体学生、一批图书等。
7. 联系(Relationship)

微课1-3:联系
在现实世界中,事物内部及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
两个实体型之间的联系可以分为3类。
(1)一对一联系(One to One Relationship)。如果对于实体集A中的每一个实体,实体集B中至多存在一个实体与之联系;反之亦然,则称实体集A与实体集B之间存在一对一联系,记作1∶1。
例如,学校中一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间存在一对一联系,如图1.1(a)所示;电影院中观众与座位之间、乘车旅客与车票之间等都存在一对一的联系。
(2)一对多联系(One to Many Relationship)。如果对于实体集A中的每一个实体,实体集B中存在多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中至多存在一个实体与之联系,则称实体集A与实体集B之间存在一对多的联系,记作1∶n。
例如,一个班里有很多学生,一个学生只能在一个班里注册,则班级与学生之间存在一对多联系;一个部门有许多职工,而一个职工只能在一个部门就职(不存在兼职情况),部门和职工之间存在一对多联系,如图1.1(b)所示。
(3)多对多联系(Many to Many Relationship)。如果对于实体集A中的每一个实体,实体集B中存在多个实体与之联系;反之,对于实体集B中的每一个实体,实体集A中也存在多个实体与之联系,则称实体集A与实体集B之间存在多对多联系,记作m∶n。
例如,一个学生可以选修多门课程,一门课程可同时由多个学生选修,则课程和学生之间存在多对多联系,如图1.1(c)所示;一个药厂可生产多种药品,一种药品可由多个药厂生产,则药厂和药品之间存在多对多联系。

图1.1 两个实体集之间的3类联系
两个以上的实体集之间也存在一对一、一对多、多对多联系。

图1.2 多实体集之间的联系
例如,对于课程、教师和参考书3个实体型,如果一门课程可以有若干位教师讲授,使用若干本参考书,而每一位教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多,如图1.2(左)所示。
在两个以上的多实体集之间,当一个实体集与其他实体集之间均存在多对多联系,而其他实体集之间没有联系时,这种联系称为多实体集间的多对多联系。
例如,有3个实体集:供应商、项目、零件。一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同的供应商供给,可以看出供应商、项目、零件三者之间存在多对多联系,如图1.2(右)所示。
同一实体集内部的各实体也可以存在一对一、一对多、多对多联系。
例如,职工实体集内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系,如图1.3所示。

图1.3 同一实体集内的一对多联系
(三)数据世界
数据世界又称机器世界。信息世界的信息在机器世界中以数据形式存储,在这里,每一个实体用记录表示,相应于实体的属性用数据项(又称字段)来表示,现实世界中的事物及其联系用数据模型来表示。
由此可以看出,客观事物及其联系是信息之源,是组织和管理数据的出发点。为了把现实世界中的具体事物抽象、组织为某一数据库管理系统(DBMS)支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信
息世界转换为机器世界。也就是说,首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构不依赖于具体的计算机系统,不是某一个数据库管理系统支持的数据模型,而是概念级的模型,然后把概念模型转换为计算机上某一数据库管理系统支持的数据模型,这一过程如图1.4所示。

图1.4 现实世界中客观对象的抽象过程