解读ASP.NET TimeTracker Starter Kit(1)——数据库篇
2005-04-25 18:40
661 查看
初步了解了ASP.NET Portal Starter Kit后(我以前的文章),本来想继续重构代码的。在构思的时候想到要是能把五个入门套件结合在一起不是更好。Time Tracker(时间管理或项目追踪)是利用微软的Data Access Application Block作为数据库访问层的,我正好也要这样做,所以就先来看看ASP.NET Time Tracker Starter Kit。
ASP.NET Time Tracker Starter Kit(项目追踪入门套件),提供项目成员(顾问)于每一项项目中各类别所花费的时间,加予统计分析,相当于项目的「项目成员工时记录卡」。详细介绍可参见微软网站上的一片文章。像解读门户网站入门套件一样,还是先从数据库说起。
数据库中的表:
TT_Categories[/b]:[/b]项目目录信息
TT_EntryLog[/b]:[/b]项目成员工时记录卡
TT_ProjectMembers[/b]:[/b]项目成员表(通过此表可以反映:一个用户可以同时参与多个项目,一个项目也可有多个用户参与)
[/b] TT_Projects[/b]:[/b]项目信息表
TT_Roles[/b]:[/b]角色信息表
TT_Users[/b]:[/b]用户信息表
数据库中的存储过程:(自带的文档中有详解,不赘述)
各表关系:
Time Tracker中的各数据表中的关系不同与Portal,各表之间有很强的约束关系。在完整性约束上面做的比较好。从各表中的关系上来看,是符合数据设计第三范式的。
更多相关内容:点击这里>>
ASP.NET Time Tracker Starter Kit(项目追踪入门套件),提供项目成员(顾问)于每一项项目中各类别所花费的时间,加予统计分析,相当于项目的「项目成员工时记录卡」。详细介绍可参见微软网站上的一片文章。像解读门户网站入门套件一样,还是先从数据库说起。
数据库中的表:
TT_Categories[/b]:[/b]项目目录信息
字段名 | 类型 | 含义 | 备注 |
CategoryID | Int | 目录Id | 主键(自动编号) |
ProjectID | Int | 所属项目Id | 关联项目信息表 |
Name | Nvarchar(50) | 目录名称 | |
Abbreviation | Nvarchar(4) | 简写 | |
EstDuration | Decimal(9) | 预计持续时间 | 小数位两位(单位:小时) |
字段名 | 类型 | 含义 | 备注 |
EntryLogID | Int | 记录Id | 主键(自动编号) |
Description | Nvarchar(255) | 工作描述 | |
Duration | Decimal(9) | 完成工时 | 小数位两位 |
EntryDate | SmallDatetime | 记录日期 | |
ProjectID | Int | 所属项目Id | 关联项目成员表 |
UserID | Int | 所属用户Id | |
CategoryID | Int | 所属目录Id |
字段名 | 类型 | 含义 | 备注 |
ProjectID | Int | 项目Id | 关联项目信息表 |
UserID | Int | 项目成员Id | 关联用户信息表 |
字段名 | 类型 | 含义 | 备注 |
ProjectID | Int | 项目Id | 主键(自动编号) |
Name | Nvarchar(50) | 项目名称 | |
Description | Nvarchar(1024) | 项目描述 | |
ManagerUserID | Int | 项目经理Id | 关联用户表 |
EstCompletionDate | Datetime | 预计完成时间 | |
EstDuration | Decimal(9) | 预计持续时间 | 小数位两位(单位:小时) |
CreationDate | Datetime | 创建事件 | 默认值:getdate() |
字段名 | 类型 | 含义 | 备注 |
RoleID | Int | 角色Id | 主键(自动编号) |
Name | Nvarchar(50) | 角色名称 |
字段名 | 类型 | 含义 | 备注 |
UserID | Int | 用户Id | 主键(自动编号) |
DisplayName | Nvarchar(50) | 用户姓名 | |
Password | Nvarchar(50) | 密码 | 采用MD5的加密方式存储 |
UserName | Nvarchar(50) | 登录名(用户Email) | 用于登录,并设置成唯一性索引(可防止注册相同的Email,这样设置后当有相同的Email插入时程序就会抛出异常,捕获这个异常就可判断Email是否重复,这样就可以省掉判断Email是否重复的代码) |
RoleID | Int | 角色Id | 关联角色信息表(TT_Roles) |
各表关系:
Time Tracker中的各数据表中的关系不同与Portal,各表之间有很强的约束关系。在完整性约束上面做的比较好。从各表中的关系上来看,是符合数据设计第三范式的。
更多相关内容:点击这里>>
相关文章推荐
- 解读ASP.NET TimeTracker Starter Kit(1)——数据库篇
- 解读ASP.NET TimeTracker Starter Kit(2)——重构篇
- 解读ASP.NET TimeTracker Starter Kit(2)——重构篇
- 解读ASP.NET TimeTracker Starter Kit(1)——数据库篇
- 解读ASP.NET TimeTracker Starter Kit(2)——重构篇
- 解读ASP.NET Portal Starter Kit(1)——数据库篇
- 解读ASP.NET Portal Starter Kit(1)——数据库篇
- 重构后的ASP.NET Time Tracker Starter Kit代码,供大家参考
- 解读ASP.NET Portal Starter Kit(1)——数据库篇
- 解读ASP.NET Portal Starter Kit(1)——数据库篇
- 解读ASP.NET Portal Starter Kit(1)——数据库篇
- ASP.NET Starter Kit/Duwamish/NET Pet Shop /Visual Studio 2005 Starter Kits /ASP.NET Time Tracker Starter Kit
- ASP.NET Time Tracker Starter Kit的一个小bug
- 解读ASP.NET Portal Starter Kit(4)——角色身份认证篇
- 解读ASP.NET Portal Starter Kit(1)——数据库篇
- 转贴---》代码阅读总结之ASP.NET StartKit TimeTracker(角色权限)
- 代码阅读总结之ASP.NET StartKit TimeTracker(应用程序路径之处理笔记)
- 解读ASP.NET Portal Starter Kit(2)——用户配置文件篇
- Reports starter kit(asp.net 1.1)的数据库安装侧记
- 解读ASP.NET Portal Starter Kit(2)——用户配置文件篇