将对象模型映射成数据库模型,也就是向数据表转换。转换方式如下:
(1)、一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类。
(2)、关系的映射可能有多种情况,但一般映射为一个表,信捷职称论文写作发表网,也可以在对象类表间定义相应的外键。对于条件关系的映射,一个表至少应有三个属性。
(3)、减少表之间的冗余字段。
(4)、映射后的表进行冗余控制调整,使其达到合理的安息范式,一般达到3NF即可。
在映射应用对象时,除关系映射规范化后可能出现一对多的表映射外,大多数应用对象与表对象是一一对应的。可以将规范化处理后,有一个应用对象映射出来的多个表看成一个数据库对象。因此当部分应用需求变更时,首先,系统修改可以不涉及需求不变更的部分,其次,变更部分的修改可以基本上只限于追加或删除程序模块或追加新库表,而基本上不必修改原有程序代码或原有库表定义,从而大大减少了工作量,降低了工作难度。
根据对系统所进行的分析,以及对未来系统的扩展考虑,确定数据库中的主要数据表有以下几个:
表1、用户信息表(user –info)
名称
代码
主要的
数据类型
长度
用户代码
user-id
TRUE
VARCHAR(20)
20
用户类型
user-type
FALSE
CHAR(1)
1
用户密码
password
FALSE
VARCHAR(8)
8
用户名称
user-name
FALSE
VARCHAR(40)
40
用户手机号码
mobileNO
FALSE
VARCHAR(20)
20
表2、操作日志表(operate-log)
名称
代码
主要的
数据类型
长度
操作内容
message
FALSE
VARCHAR(300)
300
录入时间
inputTime
TRUE
TIMESTAMP
表3、家电信息表(appliance-info)
名称
代码
主要的
数据类型
长度
家电代码
applianceID
TRUE
VARCHAR(10)
10
家电名称
applianceName
FALSE
VARCHAR(20)
20
家电通讯地址
address
FALSE
VARCHAR(20)
20
家电通讯端口
port
FALSE
INT
加入系统时间
inputTime
FALSE
TIMESTAMP
表4、家电状态表(appliance-state)
名称
代码
主要的
数据类型
长度
家电代码
applianceID
TRUE
VARCHAR(10)
10
状态
state
FALSE
CHAR(2)
2
状态变更时间
updateTime
FALSE
TIMESTAMP
(五)、运行设计(1)、系统用户或者一般用户通过登录程序Login登录到HAS系统中。
(2、用户通过菜单(主菜单main;以及用户菜单user;家电设备管理菜单appliance;操作记录日志管理菜单log)选择要执行的操作。
(3)、用户从子系统传送过来的请求,通过服务器端控制程序HASServer进行解析,并且发送到相应的类,并将处理结果返回给主系统。