第 3 章 实体联系数据模型

58
第 3 第 第 第第第第第第 第第第 第第第第 第第第第第第第第 [email protected]

Upload: iorwen

Post on 16-Mar-2016

104 views

Category:

Documents


6 download

DESCRIPTION

第 3 章 实体联系数据模型. 刘红岩 清华大学 管理科学与工程系 [email protected]. 主要内容. 基本 ER 数据模型 实体 联系 属性 结构约束 增强 ER 数据模型 特殊化/概括 聚集. 基本 ER 数据模型. 实体联系模型( Entity Relationship Model), 又称 ER 模型 , ER 图。 P. P. Chen 于1976年发表的一篇文章中提出 统一建摸语言( Unified Modeling Language, 简称 UML) 来图形表示 ER 模型 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 3 章 实体联系数据模型

第 3 章 实体联系数据模型刘红岩清华大学 管理科学与工程系[email protected]

Page 2: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

2

主要内容 基本 ER 数据模型

实体 联系 属性 结构约束

增强 ER 数据模型 特殊化 / 概括 聚集

Page 3: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

3

基本 ER 数据模型 实体联系模型( Entity Relationship

Model ),又称 ER 模型 , ER 图。 P. P. Chen 于 1976 年发表的一篇文章中提出 统一建摸语言( Unified Modeling Language ,简称 UML )来图形表示 ER 模型

UML 是一种可视化建模语言 , 1994 年开始 Rational 公司的 3 位面向对象方法学的创始人 Rumbaugh 、 Booch和 Jacobson 先后开始合作,于 1997 年提交给对象管理组( Object Management Group ,简称 OMG ),被采纳为面向对象建模方法的标准。

Page 4: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

4

基本 ER 数据模型 实体( entity )

凡是可以互相区别而可以被人们识别的事、物、概念等统统抽象为实体。 如:产品、销售、促销策略

具有共性的一类实体 组成一个实体集( entity set )。

一般以大写字母表示实体集,小写字母表示实体。 以学生为例,设以 ES 表示学生实体集, e 表示学生实体,则 ES ={ e | e 是学生}

Page 5: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

5

基本 ER 数据模型 弱实体( Weak Entity ),或从属实体:

以另外一些实体的存在为前提,并且自身固有的属性中无法组成候选键 如:订单和订单细节 强实体和弱实体之间的这种依赖关系称为存在依赖

Page 6: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

6

基本 ER 数据模型 实体的图形表示

矩形框表示:单线矩形框和双线矩形框 框内是实体的名字

名字若用英文单词表示,每个英文单词的首字母都应大写, OrderDetailOrder SalesPerson

Page 7: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

7

基本 ER 数据模型 联系( relationship )

工人( Worker )与产品( Product )存在一种联系 工人王静负责产品羽毛球球拍的生产,张军负责足球的生产等。

两个实体集之间的联系,又称为二元联系( binary relationship )

Worker Product

Page 8: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

8

基本 ER 数据模型 n 个实体之间的 n 元联系:一个 n 元元组的集合:

{(e1, e2, …en) | e1E1,…, eiEi, …,enEn } n 称为该联系的度( degree )。

n=1 时的联系称为一元( unary )联系, n=2 时称为二元联系( binary relationship ) n=3 时称为三元( ternary )联系, n 大于 2 的联系又成为复杂联系( complex

relationship )

Page 9: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

9

基本 ER 数据模型 联系的图形表示

二元联系Worker Product

Produces

用实线将参与联系的两个实体集连接起来 实线的上面是联系的名称和一个箭头 联系的名称一般用动词或动词短语表示 箭头用于表明参与实体与联系名称之间的关系

Page 10: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

10

基本 ER 数据模型 语义网络( semantic net ):

用符号代表实体, 代表联系, 连线将联系的参与实体连接起来

王静张军李海赵玲

202101201

Worker( WorkerName

Product( PCode )Produces

Page 11: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

11

基本 ER 数据模型 一元联系,又称递归联系( recursive

relationship ):只有一个实体集参与但参与多次的联系 扮演两个不同的角色( role )

Worker

Supervises

Supervisee

Supervisor

Worker( WorkerName

王 静张 军李 海赵 玲

supervises

王静 张军 李海 赵玲

Worker( WorkerName

Page 12: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

12

基本 ER 数据模型 三元联系

用菱形框表示联系Worker ProductProduces

WorkShop

Page 13: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

13

基本 ER 数据模型 属性( attribute ) : 用于描述实体或联系的每一个特性

描述销售员( SalesPerson)的属性: 工作证号( spID )、姓名( spName )、性别( spSex )、出生日期

( spBirthdate )、电话( spTelNo ) 描述学生和课程之间的选课联系的属性:分数( score)

Page 14: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

14

基本 ER 数据模型 属性的分类

简单属性( simple attribute ) 又称原子属性( atomic attribute )

复合属性( composite attribute ) 如:销售员的地址:省、市、街道

单值属性( single-valued attribute ) 多值属性( multi-valued attribute )

如:销售员的电话 派生属性( derived attribute )

Page 15: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

15

基本 ER 数据模型 候选键( candidate key ):属性组的每一个取值可以唯一地决定实体集中的一个实体,而属性组的任一个真子集没有这个特性 如果候选键是包含两个以上属性的属性组,该候选键称为复合键( composite key ) 主键( primary key ):从若干个候选键中选出的一个用于识别实体集中每一个实体的候选键 其他的候选键称为替补键( alternative key )

Page 16: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

16

基本 ER 数据模型 属性的图形表示

属性的名称若用英文单词表示 单词的首字母小写,若包含多个单词或单词缩写,每个后续的单词或单词缩写的首字母大写

实体的矩形框分成上下两部分 上部是实体的名字, 下部是各个属性的名字,

SalesPersonspID {PK}spNamespSexspBirthdatespTelNo[1..3]spSalaryspBonus/totalSalaryspAddress province city street zipCode

Page 17: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

17

基本 ER 数据模型 实体的属性

若有主键,主键应列为第一个属性,且属性名后面加上主键的标记{PK}

复合键:每个属性后{ PPK}

实体的简化图形表示

SalesPersonspID {PK}spNamespSexspBirthdatespTelNo[1..3]spSalaryspBonus/totalSalaryspAddress province city street zipCodeSalesPerson

spID

Page 18: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

18

基本 ER 数据模型 实体的属性

派生属性:在其属性名前加上一个斜线 / ; 对于多值属性,用方括号指明取值个数的上下限,例如, [1..3] , [1..*] 对于复合属性,将其各个子成分缩进显示在复合属性名的下面。

SalesPersonspID {PK}spNamespSexspBirthdatespTelNo[1..3]spSalaryspBonus/totalSalaryspAddress province city street zipCode

Page 19: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

19

基本 ER 数据模型 实体的属性 弱实体的属性中不存在主键,其主键需要其依赖的实体的主键和其本身的某些属性共同组成

OrderDetailitemNoqtydiscount

OrderorderNo{PK}custerNoorderDatedelivDate

Page 20: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

20

基本 ER 数据模型 联系的属性:

显示于矩形框的下部,用虚线将矩形框与联系相连 SalesPersonspID

BranchbrachID

Has

beginDate

Page 21: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

21

联系的约束 结构约束 : 描述参与联系的实体之间如何关联 在图形中通过参与度( min..max) 来表示,对于 E1 与 E2 之间联系:

min2: 实体集 E1 中实体的最小参与次数 , 即 E1的一个实体最少与 E2 中 min2 个实体有联系 max2: 实体集 E1 中实体的最大参与次数 , 即 E1的一个实体最多与 E2 中 max2 个实体有联系

E1pk1

E2pk2

Rmin1..max1 min2..max2

Page 22: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

22

基本 ER 数据模型 参与度的确定和图形表示

SalesPersonspID

BranchbrachID

Manages1..1 0..1

SalesPerson( spID )

Branch( BranchNo

)Manages

sp1sp2sp3sp4

b1

b2

Page 23: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

23

基本 ER 数据模型 参与度→ 参与约束、基数约束 参与约束( participation

constraint ) 全参与( total participation ) 部分参与( partial participation ) Min 值反映参与约束

Min1=0: E2 是部分参与; Min2=0:E1 是部分参与 Min1>0: E2 是完全参与; Min2>0:E1 是完全参与SalesPersonspID

BranchbrachID

Manages1..1 0..1

Page 24: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

24

基本 ER 数据模型 基数约束( cardinality

constraint ):约束通过一个联系同另一个实体集中相联系的实体数目。用于二元联系时非常有用,也可以用于复杂联系。 Max 值反映基数约束,对于二元联系:

1 对 1: one to one 1 对多 : one to many 多对多 : many to many

Page 25: 第 3 章 实体联系数据模型

1对1联系 max1=1, max2=1: E1 中的每个实体可以和 E2中的 0 个或 1 个实体有联系, E2 中的每个实体也可以和 E1 中的 0 个或 1 个实体有联系。

SalesPerson( spID )

Branch( BranchNo

)Manages

sp1sp2sp3sp4

b1

b2

SalesPersonspID

BranchbrachID

Manages1..1 0..1

Page 26: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

26

1对多联系 max1=1, max2=* 或 >1 E1 中的每个实体可以和

E2 中的任意多个实体有联系, E2 中的每个实体可以和 E1 中的 0 个或 1 个实体有联系。SalesPerson( spID )Has

Branch( BranchNo )

sp1sp2sp3sp4

b1b2

BranchbranchID

SalesPersonspID

Has1..1 1..*

Page 27: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

27

基本 ER 数据模型 弱实体的特点:

强实体与弱实体之间是1对多联系 弱实体的存在以强实体的存在为前提,即存在依赖 弱实体本身的属性不足以构成其主键

OrderorderNo

OrderDetailContains1..1 1..*

Page 28: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

28

基本 ER 数据模型 多对1联系

101102202301302

(21,1)(21,2)(21,3)(24,4)(23,1)

Product( pCode )

OrderDetail( orderNo, itemNo )

ReferTo

OrderDetail ProductpCode

ReferTo0..* 1..1

Page 29: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

29

多对多联系max1>1 或 =*, max2= * 或 >1 : E1 中的每个实体可以和 E2 中的任意多个实体有联系, E2 中的每个实体可以和 E1 中的任意多个实体有联系

Part( partNo )

Product( pCode )

ConsistsOf

p1 p2 p3 p4

101102201

ProductpCode

PartpartNo

ConsistsOf

0..* 1..*

Page 30: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

30

基本 ER 数据模型 一元联系:参与度写在角色附近 

0..* Worker

Supervises

Supervisee

0..1Supervisor

Worker( WorkerName

王 静张 军李 海赵 玲

supervises

王静 张军 李海 赵玲

Worker( WorkerName

Page 31: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

31

基本 ER 数据模型 复杂联系:对于 n 元联系,先固定其中的 n-1 个实体集的取值,然后分析另一个实体集中的几个实体与其有关联 例如:三元联系 Produces

(w1,ws1)(w2,ws1)(w1,ws2)(w2,ws2)(w3,ws1)

202101201

Worker/WorkShop(workerID, shopID )

Product( PCode )

Produces(since)

(2000-1-1)(2000-5-1)(2000-2-1)(2000-5-1)(2001-1-1)

Page 32: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

32

基本 ER 数据模型 三元联系的图形表示

Worker ProductProduces

WorkShop

0..*

1..*

0..1

Page 33: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

33

基本 ER 数据模型• 某体育用品公司销售许多产品( product ),在全国不同地方设立多个销售点( branch) ,每个销售点有多名销售人员( salesperson) 。每个客户 (customer) 购买该公司的产品时,负责该客户的销售员要提交订单( order) ,以列出客户此次购买行为的相关信息,如客户编号、购买日期以及购买的商品的细节信息

(orderdetail) ,如产品编号、数量、折扣等。每个订单最多有一个销售人员负责。

Page 34: 第 3 章 实体联系数据模型

ER 模型

0..1

1..*

1..1

Responsible

0..*

1..1

1..10..*

1..1

OrderDetailpCodeqtydiscount

ProductpCode{PK}pTypepNameprice

ReferTo

Contains1..*

Has

1..*

OrderorderNo{PK}

SalesPersonempIDspTelNospFaxNo

orderDateDelivDate

1..1

CustomercustNo{PK}custNamecustTelNocustFaxNo

BranchbranchID{PK}branchNamebranchTelNobranchAddresssubmit

Page 35: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

35

常见问题 实体和联系

联系当作实体看待 语义表达不易理解 模型不够简洁 但不会丢失信息

实体当作联系看待 语义不易表达 数据冗余

Page 36: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

36

常见问题 例如

语义:一个系与一个学生产生联系的同时对应一个班级?1..1

DepartmentdeptNo

StudentsNo

Has

0..*

classNomajoryear

Page 37: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

37

常见问题 数据冗余

Department( deptNo )

Student( sNo )

Has

d1 d2 d3

101102201202301

Page 38: 第 3 章 实体联系数据模型

常见问题 信息丢失问题

裂缝陷阱( chasm trap ) 由于发生联系的实体之间的路径上存在一个或多个部分参与的实体而造成的。

b1b2

SalesPerson( spID )

Branch( BranchNo ) Has

r11r12r21r22

WorksInOfficeRoom

( roomNo )

sp1sp2sp3sp4

BranchbranchID

SalesPersonspID

Has1..1 1..*

OfficeRoomroomNo0..* 1..1

WorksIn

Page 39: 第 3 章 实体联系数据模型

常见问题 扇形陷阱( fan trap )

由于一个实体的两侧分别有一个 1:* 的联系引起的例: SalesPerson 和 OfficeRoom 之间的正确联系无法得到

BranchbranchID

SalesPersonspID

Has1..* 1..1

OfficeRoomroomNo1..*1..1

Owns

sp1sp2sp3sp4

SalesPerson( spID ) Has

r11r12r21r22

OwnsOfficeRoom

( roomNo )

b1

Branch( BranchNo )

b2

Page 40: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

40

常见问题 解决方法

BranchbranchID

SalesPersonspID

Has1..1 1..*

OfficeRoomroomNo0..* 1..1

WorksIn

Owns1..*1..1

DepartmentdeptNo

ClassclassID

Has1..1 0..*

StudentsNo1..1 1..*

Has

Page 41: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

41

常见问题 二元联系和复杂联系

Student Course Studies

Teacher

1..*

0..*

0..*

Student Course Teacher1..* 1..*0..* 0..*Takes has

Page 42: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

42

常见问题 缺点:

但这种转换使得模型更为复杂的同时,也使得 n 个实体参与到一个联系中的语义难以体现。 注意:一个 n 元联系一般与 n 个实体两两之间的联系经常是不等价的

Student Course Teacher1..* 1..*0..* 0..*Takes has

Teaches

Page 43: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

43

主要内容 基本 ER 数据模型

实体 联系 属性 结构约束

增强(扩充) ER 数据模型 特殊化 / 概括 聚集

Page 44: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

44

EER 模型 扩充 ER 数据模型( extended entity relationship data model )

增强 ER 数据模型( enhanced entity relationship data

model )简称为 EER 数据模型

特殊化( specialization ) 概括( generalization ,普遍化) 聚集( aggregation)

Page 45: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

45

增强 ER 模型 特殊化

特殊化是一个对实体集细化、逐步求精的过程 实体集中的部分实体具有一些区别于其他实体的特性 ,特性的取值可以将原来的实体集分解成或从中抽出几

个实体子集 原来的实体集称为超类(或父类),而其每个子集称为子类。 例如:体育用品公司的所有职员 Employee 具有如下的 共 同 特 性 : empID, empName, sex, age,

empAddress 。 但 工 作 性 质 不 同 , 特 殊 化 为 工 人( Worker) 和销售员 (SalesPerson)

Page 46: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

46

特殊化 特殊化的原因

子类具有超类不具有的属性。例如,工人可以具有技术级别( skill )属性,而销售员则具有联系电话 (spTelNo) 、传真( spFaxNo )等属性,这些属性是由其工作性质所决定的,在子类间不共享。 各子类参与不同于超类参与的联系。例如,工人与车间和产品之间存在联系,而销售员与销售分支机构等实体参与联系。

特殊化的重要特性是属性继承 一个超类实体的所有子类实体继承该超类的所有属性和联系 子类还可以继续特殊化成更低一层次的子类,低层次的子类继承其所有直接或间接超类的属性和联系。

Page 47: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

47

特殊化 图形表示

“Is a”

{Optional, Or}

EmployeeempID {PK}empNamesexbirthdayempAddress

Worker skill

SalesPerson spTelNo spFaxNo

Page 48: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

48

特殊化 约束:参与约束( participation constraint )和不相交约束( disjoint constraint )

参与约束:描述超实体和子实体的关系 一种是强制( mandatory )类型:又称为全特殊化

( total specialization ),是指超类的每个实体都存在于某个或某些子类中子类的并集等价于超类

一种是任选( optional )类型:又称为部分特殊化( partial specialization ),指的是超类中的某些实体不存在于任何一个子类中。

Page 49: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

49

特殊化 不相交约束:描述子类之间的关系的 :

重叠特殊化:超类中的实体可以同时属于多个同层次子类。 不相交特殊化:超类中的每个实体最多只能属于一个子类,即子类之间不相交

图形中约束的表示方法: { 参与约束 , 不相交约束 } 参与约束 :

Mandatory 代表强制类型约束,全特殊化 Optional 代表任选类型约束,部分特殊化

不相交约束 : Or 代表不相交类型约束 And 代表重叠类型约束。

Page 50: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

50

特殊化 例:在大学中学习和工作的人有学生和教职员工。学生分研究生和本科生,按性别分男生和女生。教职员工分教工和职工两类,教工主要从事教学工作,而职工主要从事行政工作,有些人可能既担负教学工作,也担负一定的行政工作。请用特殊化的方法描述大学中的人员

Page 51: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

51

特殊化 大学中人的特殊化 Person

Staff

{Mandatory, And}

Student

Graduate Undergraduate

TeacherEmp

{Optional, Or}

Female Male

{Mandatory, Or}

{Optional} {Optional}

Employee Teacher

{Optional, And}

Page 52: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

52

概括 概括(普遍化)

概括是特殊化的逆过程,是根据若干个已有实体的共同特征,将它们合并抽象为一个超类实体的过程,因而是一个自底向上的设计过程 如:工人生产产品,销售员销售产品,工人、销售员同为公司的工作人员,有统一的编号,都有姓名、年龄、性别、住址等属性,因此可以进行概括,概括为公司员工。

Page 53: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

53

概括 概括的目的

避免子类所共有的属性在多个子类中重复出现 避免定义多个语义相同的联系 如:公司为每个员工,包括工人和销售员,购买不同额度的保险

1..1

1..1

SalesPerson

empIDnamespTelNospFaxNo

policyDate

Worker

empIDnameskills

Has 1..1 Policy1 pID{PK}periodamount…

1..1

Has1..1

policyDate

Page 54: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

54

概括 若进行概括

两个联系的语义是相同的,联系的属性也是相同的。经概括之后,则只需将超类,即公司员工,与保险单发生联系即可,使得模型更为简洁,更易理解。 1..1

SalesPerson

spTelNospFaxNo

policyDate

Worker

skills

Has 1..1 Policy1 pID{PK}periodamount…

1..1EmployeeempIDname

{optional, Or}

Page 55: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

55

特殊化和概括 特点

特殊化用于强调一个抽象级别较高的实体集(即超类)的子实体集(即子类)具有特殊的特性,并且参与不同的联系。 概括则是强调低层实体集之间所具有的共性,即具有相同的属性和参与相同的联系。两种方法都是对数据进行更精确描述的方法。概括的图形表示与特殊化相同。

Page 56: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

56

聚集 在基本 ER 模型中,联系的参与者只能是实体,联系本身是不可以再参与其他的联系 例如:每位教授每学期可以讲授多门课程,每门课可以由多名教师单独讲授。每名学生可以选修多门不同的课程,每门课程可由多名学生选修。

C1 数据库原理 32 学时 2 学分 春季C2 信息系统 32 学时 2 学分 春季T1 张老师 教授 男 50 T2 刘老师 副教授 女 30S1 张三 男 管理科学与工程S2 李四 男 经济S3 王一 女 会计

T1, C1, 2003, 三教 3200T2, C1, 2003, 艺术 212T1, C2, 2003, 四教 4102S1, T1, C1, 2003, 三教 3200, 80S1, T1, C2, 2003, 四教 4102, 85S2, T2, C1, 2003, 三教 3200, 90S3, T2, C1, 2003, 三教 3200, 70

Page 57: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

57

聚集

Teacher Course TCS

Student

1

20..*

0..*

Teacher Course

Student

1..*

20..100

0..*teach

study

1..6

T1, C1, 2003, 三教 3200T2, C1, 2003, 艺术 212T1, C2, 2003, 四教 4102S1, C1, 80S1, C2, 85S2, C1, 90S3, C1, 70

S1, T1, C1, 2003, 三教 3200, 80S1, T1, C2, 2003, 四教 4102, 85S2, T2, C1, 2003, 三教 3200, 90S3, T2, C1, 2003, 三教 3200, 70

若要统计每个教授每个学期所教的每个课堂的学生人数 ?

Page 58: 第 3 章 实体联系数据模型

Hongyan Liu @ Tsinghua University

58

聚集的方法解决该问题

take

TeachercustNo

CourseCourseNo

StudentsID

score

TeachYearClassRoom

CL1, T1, C1, 2003, 三教 3200CL2, T2, C1, 2003, 艺术 212CL3, T1, C2, 2003, 四教 4102S1, CL1, 80S1, CL2, 85S2, CL2, 90S3, CL3, 70