330 likes | 466 Views
第3章 计算学科中的3个学科形态. 李陶深 tshli@gxu.edu.cn. 3.1 一个关于“学生选课”的例 子. 对 “ 学生选课 ” 例子的感性认识. 现给出“学生”和“课程”两个实体,它们的 联系 为: 一个学生可以选修若干门课程 每门课程可以被任一学生所选修 请建立一个信息管理系统,以实现对“学生选课”这一信息的管理。. 概念模型. 用于信息世界的建模,是客观世界到信息世界的抽象。 概念模型中的主要概念有:实体、属性、码、域、联系等。 实体:客观存在并可相互区别的事物。 属性:实体所具有的某一种特性。 码:能惟一标识实体的属性集。
E N D
第3章 计算学科中的3个学科形态 李陶深 tshli@gxu.edu.cn
对“学生选课”例子的感性认识 • 现给出“学生”和“课程”两个实体,它们的联系为: • 一个学生可以选修若干门课程 • 每门课程可以被任一学生所选修 • 请建立一个信息管理系统,以实现对“学生选课”这一信息的管理。
概念模型 • 用于信息世界的建模,是客观世界到信息世界的抽象。 • 概念模型中的主要概念有:实体、属性、码、域、联系等。 • 实体:客观存在并可相互区别的事物。 • 属性:实体所具有的某一种特性。 • 码:能惟一标识实体的属性集。 • 域:属性的取值范围。 • 联系:指不同实体集之间的联系。两个实体之间的联系分为:一对一(1:1)、一对多(1:N)、多对多(N:M)3类。
E-R模型(Entity-Relationship) • 1976年,美籍华人陈平山(Peter Pingshan Chen)提出的 • 用E-R模型来描述客观世界并建立概念模型的抽象方法。 • 实体用矩形表示,属性用椭圆形表示,联系用菱形表示,实体间的联系有一对一(1:1)、一对多(1:N)和多对多(N:M)3种情况。 • 要实现对客观事物的感性认识,必须将客观世界(在例中客观世界就是“学生选课”)抽象为信息世界。
关系模型 • 概念模型不是机器世界所支持的数据模型,而是客观世界到机器世界的一个中间层次 • 概念模型还需要转换成机器世界能支持的数据模型。 • 在数据库领域中,数据库管理系统(DBMS)能支持的数据模型有:层次、网状、关系以及面向对象等数据模型。 • 关系模型支持的是一种二维表结构的数据模型,它由关系数据结构、关系数据操作和关系数据的完整性约束条件三部分组成。 • 其中关系就是一张二维表。
概念模型(E-R图)——》关系模型 • 转换: • 学生(学号,姓名,年龄,性别); • 课程(课程号,课程名); • 学生选课(学号,课程号,成绩) • 概念模型是对现实原形的理想化,因此,将概念模型直接转换成关系模型,还不能说完全达到了对“学生选课”这一客观世界的理性认识,换言之,就是所转换的关系模型有可能还存在问题。
感性认识中存在的问题 • 在学生(学号,姓名,年龄,性别)关系中增加系名、系主任等属性时,即学生关系变为(学号,姓名,年龄,性别,系名,系主任)时,便开始出现以下问题。 • 插入异常——一个系刚成立,系主任已确定,但还未招学生时,则无法将系名和系主任的名字插入到数据库中(学生实体中学号为码,码不能缺) • 删除异常——当一个系的学生全部毕业,删除所有毕业生时,系名和系主任的名字也就删除了 • 冗余太大——由于一个学生对应一个系名和系主任的名字,则该系系名和系主任的名字要重复。
关系模式的形式化定义 • 关系模式(R)是一个四元组,即 R=<U,D,dom,F> 其中: (1)U表示关系中所有属性的集合; (2)D表示属性集合U中属性所来自的域; (3)dom是属性到域的映射; (4)F是属性集合U上的一组数据依赖。
关系模式的形式化定义 由于D、dom与模式设计关系不大,可将关系模式简单地表示为一个二元组 R=<U,F> • 1NF的定义:作为一张二维表的关系,每一个分量必须是不可再分的数据项,满足这个条件的关系模式就属于1NF。 • 2NF的定义:若R∈1NF,且每一个非主属性不存在对码的部分函数依赖,则 R∈2NF。在定义中,非主属性为不属于码的那些属性。 • 3NF的定义:若R∈2NF,且每一个非主属性不存在对码的传递函数依赖,则 R∈3NF。
对“例子”问题的理性认识 • 例子最初是属于1NF、2NF、3NF,但是当在学生属性集U中增加系名和系主任后,就出现了这样的传递函数依赖:学号(码)→系名,系名→系主任。因此,它就不属于3NF了。 • 不属于3NF的所有关系模型都会出现插入异常、删除异常和冗余的问题。 • 还必须依靠分解算法对模式进行分解,并满足3NF的要求。 • 在数据依赖理论的指导下,可完成模式的分解任务。 • 就例子而言,可以再划分一个关系,即系(系号,系名,系主任名),从而满足了关系模式规范化的要求,实现了对例子的理性认识。
从概念模型向满足规范化要求的关系模型的转换,其实质是认识过程由感性认识(抽象)上升到理性认识(理论)的过程,这个过程包含两方面的内容:从概念模型向满足规范化要求的关系模型的转换,其实质是认识过程由感性认识(抽象)上升到理性认识(理论)的过程,这个过程包含两方面的内容: • 一方面是有关理论的建立; • 另一方面是如何在理论的指导下,在具体的设计中,实现对客观世界的理性认识。 • 前者是对科学研究而言的,而后者是对工程设计而言的。
“学生选课”系统的工程设计 • 建立起正确的关系模型后,还要根据具体的关系数据库管理系统对该模型进行定义,下面,给出定义该模型的SQL语句: • CREATE TABLE STUDENT • ( SNO CHAR(9) NOT NULL, • SN CHAR(16), • SAGE INT, • SEX CHAR(1) );
“学生选课”系统的工程设计 • CREATE TABLE COURSE • ( CNO CHAR(6) NOT NULL, • CN CHAR(22) ); • CREATE TABLE SC • ( SNO CHAR(9) NOT NULL, • CNO CHAR(6), • GRADE INT ); • CREATE TABLE DEPARTMENT • ( DNO CHAR(9) NOT NULL, • DN CHAR(16), • DEAN CHAR(8));
“学生选课”系统的工程设计 • 接下来,便可以进行数据的输入、修改和查询,从而完成对“学生选课”的管理。 • 一个简单的查询:查询选修了“数据库”课程,并且成绩在90分以上的所有学生的学号和姓名。 • SELECT SNO,SN • FROM STUDENT,SC,COURSE • WHERE CN='数据库' AND GRADE>90; • 系统运行以上语句后,即可在屏幕上显示所求的结果。
3.2 计算学科的3个学科形态 3.2.1 抽象形态
一般科学技术方法论中有关抽象形态的论述 • 科学抽象是指在思维中对同类事物去除其现象的、次要的方面,抽取其共同的、主要的方面,从而做到从个别中把握一般,从现象中把握本质的认知过程和思维方法。 • 学科中的抽象形态包含着具体的内容,它们是学科中所具有的科学概念、科学符号和思想模型。
计算学科中有关抽象形态的论述 • 《计算作为一门学科》报告认为:理论、抽象和设计是我们从事本领域工作的3种主要形态按人们对客观事物认识的先后次序,我们将报告中的抽象列为第一个学科形态,理论列为第二个学科形态。抽象源于实验科学。按客观现象的研究过程,抽象形态包括以下4个步骤的内容: (1)形成假设; (2)建造模型并作出预测; (3)设计实验并收集数据; (4)对结果进行分析。
例子中有关抽象形态的主要内容及其简要分析 • 在“学生选课”例子中,有关抽象形态的内容可以用集合的方式表示为: A={学生,属性,码,关系,学号,姓名,年龄,性别,课程,课程号,课程名,成绩,E-R图,“学生选课”E-R图,关系模型,“学生选课”关系模型,……} 对“学生选课”问题的抽象(感性认识)就是通过建立“学生选课”的E-R模型和关系模型来实现的,这一步是实现“学生选课”系统的关键。
3.2 计算学科的3个学科形态 3.2.2 理论形态
一般科学技术方法论中有关理论形态的论述 • 科学认识由感性阶段上升为理性阶段,就形成了科学理论。科学理论是经过实践检验的系统化了的科学知识体系,它是由科学概念、科学原理以及对这些概念、原理的理论论证所组成的体系。 • 理论源于数学,是从抽象到抽象的升华,它们已经完全脱离现实事物,不受现实事物的限制,具有精确的、优美的特征,因而更能把握事物的本质。
计算学科中有关理论形态的论述 • 在计算学科中,从统一合理的理论发展过程来看,理论形态包括以下4个步骤的内容: (1)表述研究对象的特征(定义和公理); (2)假设对象之间的基本性质和对象之间可能存在的关系(定理); (3)确定这些关系是否为真(证明); (4)结论。
例子中有关理论形态的主要内容及简要分析 • 在与“学生选课”例子有关的关系数据库领域中,理论形态的主要内容可以用集合的方式表示为: T={关系代数,关系演算,数据依赖理论,……} 在数据库理论的指导下,我们就可以在“学生选课”关系模型(感性认识)的基础上,建立对“学生选课”问题的理性认识,从而为“学生选课”管理系统的设计奠定基础。
3.2 计算学科的3个学科形态 3.2.3 设计形态
一般科学技术方法论中有关设计形态的论述 • 设计形态与抽象、理论两个形态存在的联系 设计源于工程,并用于系统或设备的开发,以实现给定的任务。 • 设计形态和抽象、理论两个形态具有许多共同的特点。设计必须以对自然规律的认识为前提。 • 设计必须创造出相应的人工系统和人工条件,还必须认识自然规律在这些人工系统中和人工条件下的具体表现形式 • 设计形态的主要特征与抽象、理论两个形态的主要区别: 设计形态具有较强的实践性、社会性、综合性。
计算学科中有关设计形态的论述 • 在计算学科中,从为解决某个问题而实现系统或装置的过程来看,设计形态包括以下4个步骤的内容: (1)需求分析; (2)建立规格说明; (3)设计并实现该系统; (4)对系统进行测试与分析。
例子中有关设计形态的主要内容及简要分析 • “学生选课”一例中,有关设计形态的内容是指:在数据库理论的指导下,运用E-R图和关系模型,实现对例子的感性认识和理性认识,最后借助某种关系DBMS(如Oracle等),实现“学生选课”应用软件的编制。最终成果是“学生选课”应用软件以及相关资料(如需求说明书)。 就例子而言,其内容可以用集合的方式表示为: D={“学生选课”应用软件,“学生选课”需求说明,……}
3.2 计算学科的3个学科形态 3.2.4 3个学科形态的内在联系
一般科学技术方法论中有关3个学科形态内在联系的简要论述一般科学技术方法论中有关3个学科形态内在联系的简要论述 • 在计算机科学与技术方法论的原始命题中,蕴含着人类认识过程的两次飞跃,第一次飞跃是从物质到精神,从实践到认识的飞跃。这次飞跃包括两个决定性的环节:一个是科学抽象,另一个是科学理论。 • 第二次飞跃是从精神到物质,从认识到实践的飞跃。这次飞跃的实质对技术学科(计算学科就是一门技术学科)而言,其实就是要在理论的指导下,以抽象的成果为工具来完成各种设计工作。
计算学科中有关3个学科形态内在联系 的论述 3个学科形态的内在联系 • 抽象源于现实世界。建立对客观事物进行抽象描述的方法 建立具体问题的概念模型,实现对客观世界的感性认识。 • 理论源于数学。建立完整的理论体系 建立具体问题的数学模型,从而实现对客观世界的理性认识。 • 设计源于工程 。对客观世界的感性认识和理性认识的基础上,完成一个具体的任务;对工程设计中所遇到的问题进行总结,提出问题,由理论界去解决它。
计算学科中有关3个学科形态内在联系 的论述 3个学科形态的内在联系 三个核心形态实际上反映了计算科学领域内从事工作的三种文化方式: • 抽象:主要以实验方式揭示对象的性质和相互间的关系; • 理论:关心的是以形式化方式揭示对象的性质和香花之间的关系;(按某种科学规律构筑人工的典型模式) • 设计:以生产方式对这些性质和关系的一种特定的实现,完成具体而有用的任务。
计算学科中有关3个学科形态内在联系 的论述 3个学科形态的内在联系 三者的关系:抽象和设计阶段出现了理论;理论和设计阶段需要模型化;理论和抽象阶段需要设计去实现,验证在现实是否可行。