Ratioinal rose数据建模.doc
文本预览下载声明
数据建模
任务1:正向工程(对象模型转换为数据模型)
用类表示数据库表:
1.右键单击浏览器中的Component 视图;
2.选择DataModeler/New/Database;
3.新数据库取名为TestDB;
4.双击TestDB,在TargetMicrosoft SQL Server 2000.x;
这时在Logical视图中自动生成了Global Data Types和Schemas两个包。
图6-1 选择数据库
5.右键单击浏览器中的Logical 视图;
6.选择DataModeler/New/Schema,这时在Schemas中生成了schemas-1;
图6-2 选择DataModeler/New/Schema
此时双击schemas-1,在Database中选择TestDB,如图6-2所示。
图6-3 在Database中选择TestDB
7.右键单击Logical视图;
8.选择New/Package创建包Demo;
9.在Demo中创建两个类,Teacher和Student。其中Teacher类包含name,telephone,age(Attributes),其中name和telephone为string类型,age为Integer。Student包含name,sex,classstring类型;
10.注意:必须在两个类的Class Specification弹出框中的Detail选项中选中Persisten,即转换为持久类。(如图,双击类图便弹出Class Specification框);
图6-4 转换为持久类
11.右键单击包Demo,选择DataModeler/Transform to DataModel…;
12.在弹出框中的Destination Schema中选中S_1,在Target Database中选中TestDB,单击OK;
这时在Schemas下的schemas-1中生成了两个表,分别为T_Teacher和T_Student(如图6-5)。
图6-5 生成两个表
13.在SQL Server2000中创建一个新的数据库,命名为TestDB,待会将会将上面生成的两个表导入到该数据库中;
14.右键单击schemas-1,选择Data Modeler/Forward Engineer;next后,在新出现的对话框中选中Excute,然后单击Test Connection,如果弹出成功标志则连接可用(如图6-6);
图9-6 Test Connection测试成功
16.在User Name,PassWordSQL Server的用户名和密码(一般为admin和admin),在Server中填入“.”,在Database中选择刚刚建立的TestDB,单击Next-FinishSQL Server中的TestDB数据库中生成了两个表,可查看图(6-7)。
图6-7 数据库中的两个表
任务2:逆向工程(数据模型转换为对象模型)
将数据库表导入Rose中:创建新的数据库Test以及表Student和Teacher属性和先前的属性一样。
1.在工具栏中单击Tools/Data Modeler/Reverse Engineer(如图6-8);
图6-8 创建逆向工程
2.同样在弹出框中单击两次Next后在Target中选中Microsoft SQL Server 2000.x;
3.其余的配置如同正向工程的16,只是数据库选为Test;
4.单击next,在随后的弹出框中注意选中dbo,其余为默认,最后Finish;
此时将在schemas中生成新的schemadbo,包含了两个创建的表。
图6-9 创建了两个表
5.右击schemadbo,选择Data Modeler/Transform to Object Model…即可生成类图,完成逆向转换。如图6-10所示(生成的类图在包OM_S_1中);
6.保存结果:Lab6.mdl。
图6-10 完成逆向工程转换
练习:对“课程注册系统”进行数据库设计。该数据库中包含有四个表,分别为Student、CourseOffering、Course和Schedule。例如:Student表中对应的列名分别为:studentID,name,address,age,sex,主键为studentID,字段类型根据实际来定义。
要求根据数据库设计的基本步骤,使用Rose中的Data Modeler工具创建数据库,添加表及其细节,添加表间关系,引用完整性规则等。其中,表包括字段、限制、触发器、主键、索引和关系。其中表Student和Schedule之间是确定性关系,表CourseOffering 和Course之间是非确定性关系。
显示全部