学生选课例子的感性认识
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从概念模型向满足规范化要求的关系模型的 转换,其实质是认识过程由感性认识(抽象) 上升到理性认识(理论)的过程,这个过程 包含两方面的内容: 一方面是有关理论的建立; 另一方面是如何在理论的指导下,在具体 的设计中,实现对客观世界的理性认识。 前者是对科学研究而言的,而后者是对工 程设计而言的。
对“例子”问题的理性认识 例子最初是属于1NF、2NF、3NF,但是当在学生属 性集U中增加系名和系主任后,就出现了这样的传 递函数依赖:学号(码)→系名,系名→系主任。 因此,它就不属于3NF了。 不属于3NF的所有关系模型都会出现插入异常、删 除异常和冗余的问题。 还必须依靠分解算法对模式进行分解,并满足 3NF的要求。 在数据依赖理论的指导下,可完成模式的分解任 务。 就例子而言,可以再划分一个关系,即系(系号, 系名,系主任名),从而满足了关系模式规范化 的要求,实现了对例子的理性认识。
关系模式的形式化定义
关系模式(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。 在定义中,非主属性为不属于码的那些属性。 3 NF 的定义:若 R∈2NF,且每一个非主属性 不存在对码的传递函数依赖,则 R∈3NF。
概念模型(E-R图)——》关系模型
转换:学号,课程号,成绩) 概念模型是对现实原形的理想化,因此,将 概念模型直接转换成关系模型,还不能说完 全达到了对“学生选课”这一客观世界的理 性认识,换言之,就是所转换的关系模型有 可能还存在问题。
“学生选课”系统的工程设计
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));
第3章 计算学科中的3个 学科形态
李陶深 tshli@
3.1 一个关于“学生选课”的 例 子
对“学生选课”例子的感性认识
现给出“学生”和“课程”两个实体,它 们的联系为: 一个学生可以选修若干门课程 每门课程可以被任一学生所选修
请建立一个信息管理系统,以实现对“学 生选课”这一信息的管理。
图3.1 学生选课E-R图
学 号 姓 名 年 龄 性 别
学 n 选 m 课
生
修
成 绩
程
课程号
课程名
关系模型
概念模型不是机器世界所支持的数据模型, 而是客观世界到机器世界的一个中间层次 概念模型还需要转换成机器世界能支持的 数据模型。 在数据库领域中,数据库管理系统 (DBMS)能支持的数据模型有:层次、 网状、关系以及面向对象等数据模型。 关系模型支持的是一种二维表结构的数据模 型,它由关系数据结构、关系数据操作和关 系数据的完整性约束条件三部分组成。 其中关系就是一张二维表。
概念模型
用于信息世界的建模,是客观世界到信息世 界的抽象。 概念模型中的主要概念有:实体、属性、码、 域、联系等。 实体:客观存在并可相互区别的事物。 属性:实体所具有的某一种特性。 码:能惟一标识实体的属性集。 域:属性的取值范围。 联系:指不同实体集之间的联系。两个实 体之间的联系分为:一对一(1:1)、一对 多(1:N)、多对多(N:M)3类。
E-R模型(Entity-Relationship)
1976 年,美籍华人陈平山( Peter Pingshan Chen)提出的 用 E-R 模型来描述客观世界并建立概念模型 的抽象方法。 实体用矩形表示,属性用椭圆形表示,联系 用菱形表示,实体间的联系有一对一(1:1)、 一对多(1:N)和多对多(N:M)3种情况。 要实现对客观事物的感性认识,必须将客观 世界(在例中客观世界就是“学生选课”) 抽象为信息世界。
“学生选课”系统的工程设计 接下来,便可以进行数据的输入、修改和查 询,从而完成对“学生选课”的管理。 一个简单的查询:查询选修了“数据库”课 程,并且成绩在90分以上的所有学生的学号 和姓名。 SELECT SNO,SN FROM STUDENT,SC,COURSE WHERE CN='数据库' AND GRADE>90; 系统运行以上语句后,即可在屏幕上显示所 求的结果。
“学生选课”系统的工程设计 建立起正确的关系模型后,还要根据具体的 关系数据库管理系统对该模型进行定义,下 面,给出定义该模型的SQL语句: CREATE TABLE STUDENT ( SNO CHAR(9) NOT NULL, SN CHAR(16), SAGE INT, SEX CHAR(1) );
感性认识中存在的问题
在学生(学号,姓名,年龄,性别)关系中 增加系名、系主任等属性时,即学生关系变 为(学号,姓名,年龄,性别,系名,系主 任)时,便开始出现以下问题。
插入异常——一个系刚成立,系主任已确定,但 还未招学生时,则无法将系名和系主任的名字插 入到数据库中(学生实体中学号为码,码不能缺) 删除异常——当一个系的学生全部毕业,删除所 有毕业生时,系名和系主任的名字也就删除了 冗余太大——由于一个学生对应一个系名和系主 任的名字,则该系系名和系主任的名字要重复。