数据库表关系模型解析7多对多数据模型中的一张表是自连接.docx
- 文档编号:1148209
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:11
- 大小:448.06KB
数据库表关系模型解析7多对多数据模型中的一张表是自连接.docx
《数据库表关系模型解析7多对多数据模型中的一张表是自连接.docx》由会员分享,可在线阅读,更多相关《数据库表关系模型解析7多对多数据模型中的一张表是自连接.docx(11页珍藏版)》请在冰豆网上搜索。
数据库表关系模型解析7多对多数据模型中的一张表是自连接
数据库表关系模型解析7
多对多数据模型中的一张表是自连接
狼奔代码生成器是一款为程序员设计的前期开发辅助工具,是一个软件项目智能开发的平台,它可以自动生成ASP.NET页面及后台代码。
实践开发过程中,我们使用PowerDesigner设计数据库模型。
狼奔代码生成器就是读取PowerDesigner设计的数据库模型,分析其中的表与表之间的关系模型,分析其中的表和字段的说明信息中的关键字,自动生成不同的页面。
表与表之间的关系模型包括
1.单表数据模型
2.自连接数据模型
3.一对一数据模型
4.一对多数据模型
5.一对多数据模型中的一张表是自连接
6.多对多数据模型
7.多对多数据模型中的一张表是自连接
关键字包括
1.查询
2.状态
3.上传
4.工作流
架构图
组件说明
图表1项目组件说明图
1)App——页面展示层
采用MVC框架,使用Jquery脚本库,控件选用Easyui。
2)WcfHost——服务宿主(后期扩展)
为对外的服务提供宿主,使用WCF技术,HTTPS通讯协议。
3)IBLL——业务接口层
业务逻辑层的方法对外暴露的接口和服务契约。
4)BLL——业务逻辑层
业务逻辑的操作,包括业务处理,事务,日志。
5)DAL——数据访问层
数据库访问的操作,数据实体,业务实体,数据校验,使用EntityFramework。
6)Common——公共组件层
整个应用程序使用的公共辅助方法。
7)WFActivitys——工作流活动层(后期扩展)
定义了工作流需要的活动,使用微软WF技术。
8)WFDesigner——工作流设计器(后期扩展)
可以让实施人员自由配置工作流的设计器,使用微软WPF技术。
人员的作用
使用人员的用户名和密码登陆系统
人员和部门之间有一张关联表,而部门是一个典型的自连接表,这三张表就构成了一个典型的“多对多数据模型中的一张表是自连接”
下面我们以人员为例子分析“多对多数据模型中的一张表是自连接”数据模型,代码已在生成的文件中,并且注释详备,此文不再赘述
数据模型
部门和人员之间是多对多的关系,而部门又是一张自连接的表
查询
列表
页面展示层App
Mvc中的View的代码
此列表页面是参照\jquery-easyui-1.2.3\demo\tree.html页面开发的
Mvc中的Controller的代码
Mvc中的Model的代码
Model就是EntityFramework自动生成的实体
业务接口层IBLL
此层作为业务逻辑层方法的接口,也是WCF对外暴露的契约
业务逻辑层BLL
数据字典类的业务逻辑写在BLL类库中,事务使用TransactionScope对象,SysPersonBLL.cs类文件里面封装了业务逻辑的操作方法,并且继承了BaseBLL基类
整个项目应该遵循的原则是:
胖BLL,瘦mvc
数据访问层DAL
其中SysPerson.cs文件放置的是表的实体和实体元数据的验证,而SysPersonRepository.cs文件放置的是访问数据库的方法
业务实体在SysPerson.cs文件中的SysPerson类,它是一个分部partial类,内部可以自定义属性,MetadataType属性中指定了该实体属性的校验类SysPersonMetadata,并且它继承了IBaseEntity接口(此接口暂时没有任何成员);
SysPerson.cs文件中还有一个SysPersonMetadata类用于校验SysPerson类中的成员。
注意校验类需要引用usingSystem.ComponentModel.DataAnnotations;命名空间。
服务层
(后期扩展)
删除
先选中一条,然后点击删除
创建
选择部门(树形结构)
选择角色(非树形结构)
修改
查看详细信息
.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 关系 模型 解析 多数 中的 一张 连接