roster

更新时间:2022-12-28 12:09:03 阅读: 评论:0


2022年12月28日发(作者:母亲劫)

IT之源

1

使用RationalRo进行UML可视化建模

本课程以某所大学的《在线选修课程管理系统》为例来介绍怎样使用RationalRo

进行UML可视化建模。

最终递交三个文件:,,VB的代码或Java的代码。

内容:

一、系统描述...................................................................................................................2

二、用例图(UCaView)............................................................................................2

三、活动图(ActivityDiagram)(建立选修课程目录表)..................................................5

四、相关的包和类以及简单类图.................................................................................11

五、用例实现图(UCaRealizationDiagram).........................................................13

六、顺序图(SequenceDiagram)与合作图(CollaborationDiagram).............................15

七、类图中的关系(Relationships).................................................................................18

八、类图中的操作与属性.............................................................................................20

九、类图中的泛化.........................................................................................................22

十、状态图(StatechartDiagram)....................................................................................26

十一、构件图(ComponentDiagram)..........................................................................31

十二、部署图(DeploymentDiagram).........................................................................34

十三、生成程序代码..................................................................................................35

十四、创建数据库设计..............................................................................................40

十五、附件1:转换后的VisualBasic程序.............................................................44

十六、附件2:转换后的Java程序..........................................................................45

十七、附件3:生成的SQL语句..............................................................................46

IT之源

2

一、系统描述

1.大学教师选择本学期要教授的课程,每位教师最多只能上报4门课程。

2.教师选课结束后,教务管理人员进行协调和确认教师的课程,并创建本学期的课

程目录表,向学生公布。

2.学生填写课程选修表,每个学生最多选修4门课程;每门选修课程的学生数最多

为10人,最少为3人。人数达到10人时,停止学生登记注册此门课程;

3.学生选课结束后,系统自动取消人数少于三人的课程。

4.学生按最终的课程表到财务处办理收费手续(billingsystem)。

5.教师可查询所教课程的学生花名册(roster)。

6.教务管理人员维护学生、教师和课程的信息。

二、用例图(UCaView)

1.《在线选修课程管理系统》中的执行者(Actors)

注册选修课程的学生;

教授选修课程的教师;

教务管理人员必须汇总选修课程情况,制作课程表;

教务管理人员必须维护关于课程、教师和学生的所有信息;

财务管理系统从本系统中取出收费信息。

2.使用RationalRo创建执行者(Actors)

图1

IT之源

3

1)右击browr框中的UCaView包,弹出快捷菜单;

2)选择New——Actor项;

3)输入执行者的名字;(如出错,可用Rename命令更改)

4)如果文档窗口不可见,选择屏幕上方的View——Documentation菜单;

5)在browr框中选中所需执行者;

6)将光标置于文档框中,输入相应文档。

3.《在线选修课程管理系统》中的用例(UCa)

注册选修课程(学生);

选择教授的选修课程(教师);

索取课程花名册(Roster)(教师);

维护课程信息(教务管理人员);

维护教师信息(教务管理人员);

维护学生信息(教务管理人员);

创建课程目录(教务管理人员);

4.使用RationalRo创建用例(UCa)

图2

1)右击browr框中的UCaView包,弹出快捷菜单;

2)选择New——UCa项;

3)输入用例的名字;(如出错,可用Rename命令更改)

4)如果文档窗口不可见,选择屏幕上方的View——Documentation菜单;

5)在browr框中选中所需用例;

6)将光标置于文档框中,输入相应文档。

5.使用RationalRo创建主用例图(MainUCaDiagram)

1)双击browr框中的UCaView包中的Main条目,打开主用例图;

2)单击选中browr框中的执行者,并将其拖到主用例图中;

3)重复第2)步,直到完成所需的工作为止;

IT之源

4

4)单击选中browr框中的用例,并将其拖到主用例图中;

5)重复第4)步,直到完成所需的工作为止;

6)在工具条中选择单向关联(UnidirectionalAssociation)图标;

7)单击一个执行者,并拖到相应的用例上;或单击一个用例,并拖到相应的执

行者上。

Student

BillingSystem

Registerforcours

Requestcourroster

Maintainstudentinformation

Maintainprofessor

information

Createcourcatalogue

Registrar

Maintaincourinformation

Professor

Selectcourstoteach

图3

IT之源

5

三、活动图(ActivityDiagram)(建立选修课程目录表)

图4

1.使用RationalRo创建活动图(ActivityDiagram)

1)右击browr框中的UCaView包,弹出快捷菜单;

2)选择New——ActivityDiagram项;

3)输入活动图的名字;(如出错,可用Rename命令更改)

4)双击browr框中的ActivityDiagram名称,打开该图。

2.使用RationalRo创建活动(Activity)

1)在工具条中选择Activity图标;

2)在活动图(ActivityDiagram)中单击要放置活动(Activity)的位置;

3)输入活动名字;(如出错,可用Rename命令更改)

4)在工具条中选择StateTransition图标;

5)单击一个活动,并将其拖到相应的活动上。

IT之源

6

图5

3.使用RationalRo创建决策点(DecisionPoints)

1)在工具条中选择Decision图标;

2)在活动图(ActivityDiagram)中单击要放置决策点的位置;

3)输入决策的名字;(如出错,可用Rename命令更改)

4)在工具条中选择StateTransition图标;

5)单击一个活动,并将其拖到相应的决策点上;

6)在工具条中选择StateTransition图标;

7)单击一个决策点,拖至拐角处单击左键,再将其拖到相应的活动上;

8)双击此条转换线,打开规格设定框;

9)选择Detail标签页;

10)在GuardCondition框中输入条件No;

11)点按OK按扭,关闭规格设定框;

12)在此条转换线上单击左键,选中此条转换线;

13)点按屏幕上方的Format:LineStyle:Rectilinear菜单;

14)调整这条线,使其美观。

IT之源

7

图6

4.使用RationalRo创建同步条(SynchronizationBar)

1)在工具条中选择HorizontalSynchronization图标;

2)在活动图(ActivityDiagram)中单击要放置同步条的位置;

3)在工具条中选择StateTransition图标;

4)完成下图。

IT之源

8

图7

5.使用RationalRo创建泳道(Swimlanes)

1)在工具条中选择Swimlanes图标;

2)在活动图(ActivityDiagram)中单击要放置泳道的位置;

3)双击泳道,打开规格说明框;

4)在Name框中输入泳道的名字;

5)点按OK按扭,关闭规格设定框;

6)对泳道的大小位置进行调整;

7)将所需的活动和变换线拖至新泳道中。

IT之源

9

图8

6.使用RationalRo创建起始活动和终止活动

1)在工具条中选择起始活动或终止活动图标;

2)在活动图(ActivityDiagram)中单击要放置起始活动或终止活动的位置;

3)在工具条中选择StateTransition图标;

4)单击起始活动,拖到相应的活动上,或者单击一个活动,拖至终止活动上。

IT之源

10

图9

IT之源

11

四、相关的包和类以及简单类图

1.在RationalRo的Browr框中创建类(Class)

图10

1)右击browr框中的LogicaView,弹出快捷菜单;

2)选择New——Class项;

3)输入类的名字;(如出错,可用Rename命令更改)

4)在所建类上单击右键,弹出快捷菜单;

5)选择OpenSpecification项,选择General标签页;

6)在Stereotype框中选择entity类;

7)单击OK按扭关闭规格说明框。

边界类〈BoundaryClass〉:

可用来塑造操作者与系统之间的交互;

可用来理清用户在系统边界上的需求;

可设计抽象的用户界面对象。

控制类〈ControlClass〉:

可协调对象之间的交易;

可将使用案例的细节部分封装起来;

可将复杂的计算或商务逻辑封装起来。

实体类〈EntityClass〉:

代表永久保存的信息;

代表E-R模型之中人、事、时、地、物或概念的信息及行为。

2.在RationalRo的Browr框中创建包(Packages)

1)右击browr框中的LogicaView,弹出快捷菜单;

2)选择New——Package项;

3)输入包的名字;(PeopleInfo包用来存放与人员有关的内容;Interfaces包用来

存放与界面有关的内容;UniversityArtifacts用来存放与学校工件有关的内

容。)

4)新建图中的相关类,并设置其相应的类别;

5)单击Browr框中的类,将其拖至相应的包中。

IT之源

12

图11

3.RationalRo中的主类图(MainClassDiagram)

1)双击browr框LogicaView中的Main类图以打开之;

2)单击Browr框中的包,将其拖到Main类图上;

3)重复第2)步,完成下图。

图12

4.在RationalRo中创建包中的主类图(PackageMainClassDiagram)

1)双击Main类图中的UniversityArtifacts包,ro将打开这个包,并创建这个

包的主类图(PackageMainClassDiagram);

IT之源

13

2)单击Browr框中的类,将其拖到类图上;

3)重复第2)步,完成下图。

图13

五、用例实现图(UCaRealizationDiagram)

1.使用RationalRo创建逻辑视图中的用例图(UCaDiagram)

图14

1)右击browr框中的LogicaView,弹出快捷菜单;

2)选择New——UCaDiagram项;

3)输入用例图的名字“Realizations”;(如出错,可用Rename命令更改)

IT之源

14

4)右击browr框中的LogicaView,弹出快捷菜单;

5)选择New——UCa项;

6)输入用例的名字;(如出错,可用Rename命令更改)

7)双击新建的用例,打开用例的规格设定框;

8)单击Stereotype框,选择ucarealization选项;

9)关闭用例的规格设定框;

10)重复4——9步,双击“Realizations”,打开实现用例图;

11)将新建的实现用例拖入图中,如下图。

图15

IT之源

15

六、顺序图(SequenceDiagram)与合作图(CollaborationDiagram)

1.使用RationalRo创建顺序图(SequenceDiagram)

图16

1)右击browr框中的LogicaView中的“Maintaincourinformation”实现用

例,弹出快捷菜单;

2)选择New——SequenceDiagram项;

3)输入顺序图的名字“Creatacour”;

2.在顺序图中创建对象和信息

1)双击顺序图名称,打开顺序图;

2)将browr框UCaView包中的执行者“Registrar”拖入图中;

3)选择工具条中的“Object”图标;

4)单击图中放置对象的位置,并输入相应的名字;

5)重复3——4步;

6)选择工具条中的“ObjectMessage”图标;

7)从信息发出者拖至信息接收者;

8)输入信息的名字;

9)重复6——8步。

IT之源

16

图17

3.给顺序图中的对象分配类

1)单击选中Browr框中所需的类;

2)将此类拖至顺序图相应的对象上。

图18

IT之源

17

3.将顺序图转换为合作图

图19

1)双击顺序图名称,打开顺序图;

2)选择屏幕上方的菜单Browr——CreateCollaborationDiagram,或者点按F5

键;

3)调整图中的对象和信息,使其美观。

IT之源

18

七、类图中的关系(Relationships)

1.使用RationalRo创建关系(Relationship)

图20

1)打开UniversityArtifacts包中的Main类图;

2)选择工具条中的“Association”图标(若此图标不存在,则右击工具条,选择

Customize项将其加入);

3)点按类图中的一个类,拖至另一个类,输入关系的名称;

4)选择工具条中的“Aggregation”图标(若此图标不存在,则右击工具条,选择

Customize项将其加入);

5)点按类图中的一个整体类,拖至另一个部分类,输入关系的名称。

2.使用RationalRo创建角色(Role)

IT之源

19

图21

1)新建一个PeopleInfo包的Main类图;

2)右击关系线(靠近需要创建角色的类的一端),弹出快捷菜单;

3)选择RoleName项,输入角色的名字。

3.增加多重度

图22

1)双击关系线,使其弹出规格设定框;

2)选择Detail标签页(RoleADetail或者RoleBDetail);

3)在Multiplicity框中输入或选择相应的多重度;

4)点按OK按扭,关闭规格设定框。

4.创建包之间的关系

IT之源

20

图23

1)打开LogicaView中的Main类图;

2)选择工具条中的“dependency”图标;

3)点按类图中的一个客户包,拖至另一个供应包。

八、类图中的操作与属性

图24

IT之源

21

1.使用RationalRo创建属性和方法

1)右击browr框LogicaView中UniversityArtifacts包中的类,弹出快捷菜单;

2)选择New——Attribute项,输入相应的名字;

3)重复1——2步,完成添加属性;

4)右击browr框LogicaView中UniversityArtifacts包中的类,弹出快捷菜单;

5)选择New——Operation项,输入相应的名字;

6)重复4——5步,完成添加操作;

2.在类中增加了属性和操作后对类图的影响

1)打开UniversityArtifacts包中的Main类图;

2)将图中相关类的显示改为label(右击每一个类,选择Options:Stereotype

Display:Label菜单);

3)类图中相应的属性与操作自动变化为下图。

图25

IT之源

22

九、类图中的泛化

1.使用RationalRo创建一个有泛化关系的类图

1)在PeopleInfo包中创建一个空类图Generalization;

2)创建类图中相关的类,并将相关的类拖入图中;

3)选择工具条中的“Generalization”图标;

4)点按类图中的一个子类,拖至一个父类;

5)重复第4步完成下图;

图26

6)将左边的泛化箭头拖至右边的泛化线上;

7)调整图形。

IT之源

23

图27

2.将有泛化关系的类图进行扩展

1)将CourOffering类拖入图中,并创建对应的关联线、角色、多重度;

2)为相关的类创建属性。

图28

IT之源

24

3.将有泛化关系的类图进行优化

1)在Browr框中将子类中的公共属性拖入父类中;

2)将子类中多余的属性删去。

图29

4.将有泛化关系的类图进行多层泛化

1)在PeopleInfo包中创建相关的类,并拖入图中;

2)创建关系线、泛化线和多重度。

IT之源

25

图30

IT之源

26

十、状态图(StatechartDiagram)

1.使用RationalRo创建状态图(StatechartDiagrams)

图31

1)右击browr框中的CourOffering类,弹出快捷菜单;

2)选择New——StatechartDiagrams项;

3)输入状态图的名字“CourOfferingStates”。

2.使用RationalRo创建状态(States)

图32

1)在工具条中选择State图标;

2)在状态图中单击要放置状态的位置;

3)输入状态的名字。(如出错,可用Rename命令更改)

IT之源

27

3.使用RationalRo创建状态转换(StateTransitions)

图33

1)在工具条中选择StateTransitions图标;

2)单击起始状态,并拖至下一个状态;

3)输入状态转换的名字。(如出错,可用Rename命令更改)

4.使用RationalRo创建起始状态

1)在工具条中选择Start图标;

2)在状态图中单击要放置起始状态的位置;

3)用状态转换线进行连接。

图34

IT之源

28

5.使用RationalRo创建结束状态

图35

1)在工具条中选择Stop图标;

2)在状态图中单击要放置结束状态的位置;

3)用状态转换线进行连接。

6.使用RationalRo增加状态转换的细节部分

1)双击某条转换线,打开规格设定框;

2)选择Detail标签页;

3)在相应的框中输入action(/后的内容)、guardcondition([]里的内容)以及发出

的event(^后的内容);

4)点按OK按扭,关闭规格设定框。

IT之源

29

图36

7.使用RationalRo增加状态的Actions部分

1)双击某个状态,打开规格设定框;

2)选择Actions标签页;

3)右击Actions框中的任一位置,弹出快捷菜单;

4)选择Inrt项,将创建一个类型为entry的action;

5)双击这个action,弹出action的规格设定框;

IT之源

30

图37

6)在when框中设定相应的类型;

7)在type框中设定:action或者ndevent(用^表示);

8)输入action的名字,或event的信息;

9)点按OK按扭,关闭Action规格设定框。

10)点按OK按扭,关闭状态规格设定框。

IT之源

31

图38

十一、构件图(ComponentDiagram)

1.使用RationalRo创建Main构件图(ComponentDiagram)

1)在Browr框中的ComponentView中创建图中的各个构件包;

2)双击Browr框中的ComponentView中的Main构件图;

3)将Browr框中的ComponentView中的构件包拖入图中;

4)创建包之间的依赖线。

IT之源

32

图39

2.创建University构件包中的构件

1)双击Main构件图中的University包,打开图形;

2)在工具条中选择Component图标;

3)单击图中某一位置,放置构件;

4)输入构件名称。

图40

3.将类映射到构件上

IT之源

33

图41

1)右击Browr框中的CourOffering构件,弹出快捷菜单;

2)选择OpenSpecification项;

3)选择Realizes标签;

4)右击所需的类,弹出快捷菜单;

5)选择Assign项;

6)点按OK按扭,关闭规格设定框。

IT之源

34

十二、部署图(DeploymentDiagram)

1.使用RationalRo创建部署图(DeploymentDiagram)

1)双击Browr框中的部署图(DeploymentDiagram);

2)选择工具条中的Processor图标,并单击图中某一位置;

3)输入结点的名字;

4)选择工具条中的Connection图标;

5)点击某一结点,拖至另一结点;

6)选择工具条中的Text图标;

7)在相应结点下写上文字。

图42

IT之源

35

十三、生成程序代码

1.使用RationalRo为构件设定程序设计语言

图43

1)右击Browr框ComponentView中University包中的CourOffering构件,

弹出快捷菜单;

2)选择OpenSpecification项,打开构件CourOffering的规格设定框;

3)在Language框中选择相应的语言;

4)点按OK按扭关闭对话框。

2.建模辅助工具(如需要设定,则可进入,一般情况下可省略)

1)右击Browr框LogicaView中University包中的CourOffering类,弹出快

捷菜单,选择ModelAssistant项;

2)如需要设定,则可更改选项,一般情况下可省略此步操作;

3)编程语言为VisualBasic时,见图44,前提是系统必须安装了VB;编程语

言为Java时,见图45,前提是系统必须安装了JDK。

IT之源

36

图44:编程语言为VisualBasic时

IT之源

37

图45:编程语言为Java时

3.生成代码

1)右击Browr框ComponentView中University包中的CourOffering构件,

弹出快捷菜单;

2)选择UpdateCode项;

IT之源

38

图46

3)选中相应的check框,点击Next按扭;

图47

IT之源

39

4)点击Finish按扭;

图48

5)如有错误,则显示相应错误;

6)点按Clo按扭,关闭窗口。

IT之源

40

十四、创建数据库设计

1.将实体类的persistence属性设为persistent

本系统有四个实体类:Student、Professor、Cour、CourOffering,分别将它们

的persistence属性设为persistent。

以Cour为例,双击Browr框LogicalView中UniversityArtifacts中Cour类,

弹出classspecification对话框,选择detailtab,将persistence属性设为persistent。

图49

IT之源

41

2.生成数据模型

将UniversityArtifacts包和PeopleInfo包转成数据库的数据模型。

以UniversityArtifacts为例。右击Browr框LogicalView中UniversityArtifacts包,

弹出快捷菜单,选择DataModeler/TransformtoDataModel。弹出对话框,在Destination

Schema中键入”db”,点击”OK”。在Browr框LogicalView中将生成”Schemas”包和

db”子包。子包中生成了T_Cour和T_CourOffering两个table。

对PeopleInfo包进行相同操作,生成T_Student,T_Professor,T_RegistrationUr三

个table.

图50

IT之源

42

3.创建DataModelDiagram

右击Browr框中LogicalView/”Schemas”/“db”,弹出快捷菜单,选择

DataModeler/New/DataModelDiagram,生成一个DataModelDiagram,取名为Main。

图51

双击Main,打开进行编辑,将五个table拖进diagram,生成ER图。

图52

IT之源

43

4.生成SQL语句

右击Browr框中LogicalView/”Schemas”/“db”,弹出快捷菜单,选择

DataModeler/ForwardEngineer,跟wizard进行操作,将生成的SQL语句保存在文件

中。参见附件3。

你可以选择生成表格create或drop的SQL语句。

图53

IT之源

44

十五、附件1:转换后的VisualBasic程序

OptionExplicit

'##ModelId=3E2A1E9D0148

ImplementsCour

'##ModelId=3E2E13980177

/*由Cour泛化而来*/

'##ModelId=3E2A980002EE

PublicTeacherAsProfessor/*由设置角色而来*/

'##ModelId=3E2A9DAE0261

PublicNewProperty2(3To10)AsStudent/*由限定条件而来*/

'##ModelId=3E2A7BEB035D

PublicNewPropertyAsCour

'##ModelId=3E2A826C0109

PublicSubgetOffering()/*由getOffering操作而来*/

EndSub

'##ModelId=3E2A827B0280

PublicSubaddProfessor()/*由addProfessor操作而来*/

EndSub

'##ModelId=3E2E139801F4

PrivateSubCour_getOfferings()/*由泛化继承而来*/

EndSub

'##ModelId=3E2E13980203

PrivateSubCour_tProfessor()/*由泛化继承而来*/

EndSub

'##ModelId=3E2E13980213

PrivatePropertySetCour_(ByValRHSAsCourOffering)

EndProperty

'##ModelId=3E2E13980261

PrivatePropertyGetCour_()AsCourOffering

EndProperty

'##ModelId=3E2E1F55030D

PublicSubCourOffering()

EndSub

'##ModelId=3E2E3247038A

PrivatePropertySetCour_theProfessorCourManager(ByValRHSAsProfessorCourManager)

EndProperty

'##ModelId=3E2E32480000

PrivatePropertyGetCour_theProfessorCourManager()AsProfessorCourManager

EndProperty

'##ModelId=3E2E3248003E

IT之源

45

PrivatePropertySetCour_theCourOffering(ByValRHSAsCourOffering)

EndProperty

'##ModelId=3E2E3248009C

PrivatePropertyGetCour_theCourOffering()AsCourOffering

EndProperty

十六、附件2:转换后的Java程序

//Sourcefile:C:

packageUniversity;

publicclassCourOfferingextendsCour/*由Cour泛化而来*/

{

privateCourmCourObject;

publicProfessorTeacher;/*由设置角色而来*/

publicStudentNewProperty2[];

publicCourNewProperty;

/**@rouid3E2E1F55030D*/

publicCourOffering()

{

}

/**

*@rouid3E2A826C0109

*/

publicvoidgetOffering()/*由getOffering操作而来*/

{

}

/**

*@rouid3E2A827B0280

*/

publicvoidaddProfessor()/*由addProfessor操作而来*/

{

}

/**

*@rouid3E2E139801F4

*/

privatevoidCour_getOfferings()/*由泛化继承而来*/

{

}

/**

*@rouid3E2E13980203

*/

privatevoidCour_tProfessor()/*由泛化继承而来*/

{

IT之源

46

}

/**

*@paramRHS

*@rouid3E2E13980213

*/

privatevoidCour_(CourOfferingRHS)

{

}

/**

*@returnCourOffering

*@rouid3E2E13980261

*/

privateCourOfferingCour_()

{

returnnull;

}

}

十七、附件3:生成的SQL语句

CREATETABLET_Cour(

nameSMALLINTNOTNULL,

descriptionSMALLINTNOTNULL,

creditHoursSMALLINTNOTNULL,

T_Cour_IDINTEGERNOTNULL,

CONSTRAINTPK_T_Cour7PRIMARYKEY(T_Cour_ID)

);

CREATETABLET_CourOffering(

T_CourOffering_IDINTEGERNOTNULL,

T_Cour_IDINTEGER,

T_RegistrationUr_IDINTEGERNOTNULL,

COL_2INTEGERNOTNULL,

CONSTRAINTPK_T_CourOffering8PRIMARYKEY(T_CourOffering_ID)

);

CREATETABLET_RegistrationUr(

realnameVARCHAR(255)NOTNULL,

urnameVARCHAR(255)NOTNULL,

passwordVARCHAR(255)NOTNULL,

birthdayDATENOTNULL,

genderSMALLINTNOTNULL,

T_RegistrationUr_IDINTEGERNOTNULL,

departmentINTEGERNOTNULL,

CONSTRAINTPK_T_RegistrationUr11PRIMARYKEY(T_RegistrationUr_ID)

IT之源

47

);

CREATETABLET_Professor(

T_RegistrationUr_IDINTEGERNOTNULL,

CONSTRAINTPK_T_Professor12PRIMARYKEY(T_RegistrationUr_ID)

);

CREATETABLET_Student(

T_RegistrationUr_IDINTEGERNOTNULL,

CONSTRAINTPK_T_Student13PRIMARYKEY(T_RegistrationUr_ID)

);

CREATEINDEXTC_T_CourOffering35ONT_CourOffering(COL_2);

CREATEINDEXTC_T_CourOffering28ONT_CourOffering(T_Cour_ID);

ALTERTABLET_CourOfferingADDCONSTRAINTFK_T_CourOffering13FOREIGNKEY

(COL_2)REFERENCEST_Professor(T_RegistrationUr_ID)ONDELETENOACTIONON

UPDATENOACTION;

ALTERTABLET_CourOfferingADDCONSTRAINTFK_T_CourOffering8FOREIGNKEY

(T_Cour_ID)REFERENCEST_Cour(T_Cour_ID)ONDELETENOACTIONONUPDATE

NOACTION;

ALTERTABLET_CourOfferingADDCONSTRAINTFK_T_CourOffering10FOREIGNKEY

(T_RegistrationUr_ID)REFERENCEST_Professor(T_RegistrationUr_ID)ONDELETENO

ACTIONONUPDATENOACTION;

ALTERTABLET_ProfessorADDCONSTRAINTFK_T_Professor11FOREIGNKEY

(T_RegistrationUr_ID)REFERENCEST_RegistrationUr(T_RegistrationUr_ID)ONDELETE

NOACTIONONUPDATENOACTION;

ALTERTABLET_StudentADDCONSTRAINTFK_T_Student12FOREIGNKEY

(T_RegistrationUr_ID)REFERENCEST_RegistrationUr(T_RegistrationUr_ID)ONDELETE

NOACTIONONUPDATENOACTION;

本文发布于:2022-12-28 12:09:03,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/46539.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:cranberry
下一篇:冗杂
标签:roster
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图