j2ee项目实训hibernate框架技术——第4章网上商城项目持久层设计和实现第1部分内容摘要:

请见 前面的 图 所示 的 项目中各个业务实体对象及其关系的 ER 图。 根据 ER 图进行数据库表的逻辑设计 数据库表的逻辑设计 数据库及数据库表的 逻辑 设计 ( 1)什么是数据库设计 数据库设计是指对于一个给定的应用环境,构造 出 最优的数据库 模型并最终设计出 数据库 表结构,满足 应用系统 中的 有效存储数据 的要求的活动。 ( 2) 数据库 逻辑 设计的主要的任务 主要是 关系模式的确定及 数据库 表结构的设计,具 体的实现过程 是 根据 系统域模型 中所产生的 ER 图,确定出 系统中的 各个 业务 实体及 对应 的 数据库 表名、各个 业务 实体 类中的成员 属性所对应的 数据库表中的 字段 及数据类型。 然后再根据业务 实体 之间的关联关系,构造出数据库表之间的关系,如“ 一对一 ”、“ 一对多 ”和“ 多对多 ”等关系表。 但对于业务 实体 之间的继承和组合关系,则需要采取特殊的处理技术。 ( 3) 数据 库表中的数据 完整性 方面的 设计 分析设计人员 不仅要设计出应用系统中的数据库表的逻辑结构,同时也还应该要根据项目中对数据存储中各种有效性、安全性等方面的性能要求,进一步地确定出 对每个字段的数据 完整性 和一致性的要求并加以设计。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 7/14 页 ( 4)对设计需要进行 优化 由于概念设计的结果是 ER 图 并在 ER 图中体现出各个实体之间的关系(也就是前面所描述的关联、继承、 聚合 和组合 ) , 而关系型的数据库管理系统 一般 体现出的是二维 关系, 在此二维 关系 中只能够表示各个数据之间的静态结构方面的信息,而不能描述出对象之间的继承、 聚合 和组合等关系。 因此 分析设计人员 在 业务建模和关系建模 两者之间不能简单地进行关系映射。 在把 ER图转化为关系模式的过程需要对其进行优化 和转换 ,将 ER 图转换为关系模型实际上就是要将实体、实 体的属性和实体之间的联系转化为关系模式 中的数据库表、数据库表中的字段、数据库表和数据库表之间的关系。 数据库表的表结构设计 及最终的设计结果 ( 1) UserInfo 表 它用来存储 代表前台注册用户的信息,根据前面的 RegisterUserInfoPO 实体产生的设计结果。 请见图 所示 的数据库表结构,同时所应该注意的是,根据数据库设计的范式要求,在数据库表中应该包含有主键字段的定义。 图 UserInfo 表及结构 ( 2) UserContactInfo 表 它用来存储 代表前台注册用户的 联系 信息, 根据前面的 contactMethod 实体产生的设计结果。 请见图 所示的数据库表结构,由于该表需要与前面的 UserInfo 表 产生“组合”关系,因此利用主外键产生联系。 将 UserInfo 表 中的 userID 的主键作为本表中的外键。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 8/14 页 图 UserContactInfo 表及结构 ( 3) AdminUserInfo 表 它用来存储 代表 后 台 各种类型的管理员 用户的信息,根据前面的 AdminUserInfoPO 实体产生的设计结果。 请见图 所示的数据库表结构,读者应该能够发现出 AdminUserInfo表 和前面 的 UserInfo 表 存在许多共同的字段,这是由于在数据库表中不支持继承关系。 因此,只好将业务模型中的 UserInfoBasePO 业务 实体 基类的属性分别各自在子类的信息表中进行存储。 图 AdminUserInfo 表及结构 ( 4) GoodsInfo 表 它用来存储 代表 本项目中的各种商品共性的信息 , 是 根据前面的 GoodsInfoBasePO 实体产生的设计结果。 请见图 所示 的数据库表结构。 本 GoodsInfo 表 的设计思想与前面的UserInfo 表 和 AdminUserInfo 表 不同,尽管在业务模型中都 体现出继承关系。 但在关系建模中采用两种不同的建模方式。 商品信息方面的关系建模,采用的是“ 继承关系树 中 的每个类对应一个 数据库 表 ”。 也 就是用外键关系来表示继承关系。 在这种 关系建模 策略中,每一个子类 、 父类都会单独映射到一张 数据库 表中。 这种策略的 数据库 表中仅包含 对应的 类中 所 定义的属性(不包含继承来的属性),为每一个 业务实体 类创建 出对应的 数据库表,表中包含特定于该类的属性和 OID(对象标识符,也就是数据库表中的主键)。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 9/14 页 下图显示了该方法 的关系建模的结果 ,注意 其中的 goodsID 作为所有 商品方面的数据库表的主键。 图 GoodsInfo 表及结构 ( 5) BookInfo 表 它用。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。