解读ASP.NET TimeTracker Starter Kit(1)——数据库篇

asp.net|数据|数据库

初步了解了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:项目目录信息

字段名

类型

含义

备注

CategoryID

Int

目录Id

主键(自动编号)

ProjectID

Int

所属项目Id

关联项目信息表

Name

Nvarchar(50)

目录名称

Abbreviation

Nvarchar(4)

简写

 

EstDuration

Decimal(9)

预计持续时间

小数位两位(单位:小时)

 

TT_EntryLog:项目成员工时记录卡

字段名

类型

含义

备注

EntryLogID

Int

记录Id

主键(自动编号)

Description

Nvarchar(255)

工作描述

 

Duration

Decimal(9)

完成工时

小数位两位

EntryDate

SmallDatetime

记录日期

 

ProjectID

Int

所属项目Id

关联项目成员表

UserID

Int

所属用户Id

CategoryID

Int

所属目录Id

 

 

TT_ProjectMembers:项目成员表(通过此表可以反映:一个用户可以同时参与多个项目,一个项目也可有多个用户参与)

字段名

类型

含义

备注

ProjectID

Int

项目Id

关联项目信息表

UserID

Int

项目成员Id

关联用户信息表

 

TT_Projects:项目信息表

字段名

类型

含义

备注

ProjectID

Int

项目Id

主键(自动编号)

Name

Nvarchar(50)

项目名称

 

Description

Nvarchar(1024)

项目描述

 

ManagerUserID

Int

项目经理Id

关联用户表

EstCompletionDate

Datetime

预计完成时间

 

EstDuration

Decimal(9)

预计持续时间

小数位两位(单位:小时)

CreationDate

Datetime

创建事件

默认值:getdate()

 

TT_Roles:角色信息表

字段名

类型

含义

备注

RoleID

Int

角色Id

主键(自动编号)

Name

Nvarchar(50)

角色名称

 

 

TT_Users:用户信息表

字段名

类型

含义

备注

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,各表之间有很强的约束关系。在完整性约束上面做的比较好。从各表中的关系上来看,是符合数据设计第三范式的。

时间: 2025-01-20 21:08:00

解读ASP.NET TimeTracker Starter Kit(1)——数据库篇的相关文章

解读ASP.NET TimeTracker Starter Kit(2)——重构篇

asp.net 看了ASP.NET Time Tracker Starter Kit的代码以后,觉得这个程序是学习面向对象编程开发的一个好案例.整个程序从功能上来讲就是记录人员参加项目工作的工时记录.分析得出主要有人员.项目.工时记录这几个类.整个程序正好是以这几个类为基础展开的.在业务逻辑层里TTUser(用户类).Project(项目类)和TimeEntry(工时记录类)分别就包括了对相应表的增.删.改等操作和整个程序中所用到的对这几个主要对象的各种操作.整个程序在类的划分和功能上做的很好,

解读ASP.NET Portal Starter Kit(1)——数据库篇

asp.net|数据|数据库 ASP.NET Portal Starter Kit数据库结构总体上来讲是由网站引擎的核心表(用户表.角色表和角色关系表)和各个用户模块相关的表组成.核心表存储整个网站的用户权限的配置信息(详细的用法及说明将放到<角色身份认证篇>中讲).各用户模块存储各个功能模块的信息.各个用户功能模块表都是独立的.这样有利于新增模块扩展功能.同时也可将各个功能模块的表分别部署到不同的数据库中提高程序的高伸缩性和可扩展性.数据的访问方式是全部通过存储过程进行的.这样做的好处有:1

使用 ASP.NET Community Starter Kit建造网站

asp.net 翻译:刘海东 以下内容翻译自Building Websites with the ASP.NET Community Starter Kit by K. Scott Allen and Cristian Darie for Packt Publishing,以下内容是该书的第8章,详细介绍如何扩展CSK来增加FAQ功能. 如果你想了解 ASP.NET Community Starter Kit的详细信息,可以到www.asp.net浏览和下载,它是一个免费的开源项目.假如你想建造

ASP.NET 2.0 Club Web Site Starter Kit 补丁

asp.net|web ASP.NET2.0  Club Web Site Starter Kit 具有一个很大的缺陷:不支持中文. 这里给出两种解决方案供大家参考 方法一: 1)由于大家大部分都是用SQL SERVER2005 EXPRESS开发的,所以在建立好Club需要的数据表后,将每一个表的varchar类型更改为nvarchar. 2)将app_code目录下的DataSet.xsd文件里的AnsiString全部替换为String. 就可以解决这个问题. 我花费了大约10分钟找到并修

利用 ASP.NET Starter Kit 即刻开始 Web 站点开发

asp.net|web|站点|asp.net 摘要 如果您要构建 ASP.NET Web 站点,则需要在坚固可靠的代码基础上来开始构建.从一个完整的站点开始,进行一些修改和自定义,然后上线,是不是很棒?ASP.NET Starter Kit 就是一种允许您这样做的打包解决方案.这五个工具包(Community.Reports.Commerce.Portal 和 Time Tracker)提供可重复使用且可易于自定义的完整代码.此外,有许多 ISP 支持对 ASP.NET Starter Kit

解读ASP.NET 5 &amp; MVC6系列(5):Configuration配置信息管理

原文:解读ASP.NET 5 & MVC6系列(5):Configuration配置信息管理 在前面的章节中,我们知道新版的MVC程序抛弃了原来的web.config文件机制,取而代替的是config.json,今天我们就来深入研究一下配置文件的相关内容. 基本用法 新版的配置信息机制在Microsoft.Framework.ConfigurationModel命名空间下进行了重写,重写以后不仅支持XML格式,还支持json.ini.环境变量等.在模板示例程序中Startup类的构造函数内如,有

解读ASP.NET 5 &amp; MVC6系列(9):日志框架

原文:解读ASP.NET 5 & MVC6系列(9):日志框架 框架介绍 在之前的.NET中,微软还没有提供过像样的日志框架,目前能用的一些框架比如Log4Net.NLog.CommonLogging使用起来多多少少都有些费劲,和java的SLF4J根本无法相比.但在新版的ASP.NET5中,可谓是牛气冲天,微软提供的Microsoft.Framework.Logging框架集可谓就是.NET版的SLF4J,提供相应的接口,其它第三方组件可以根据接口实现自己的实现. ILoggerFactory

ASP:利用ASP把图片上传到数据库

ASP(Active Server Pages)是Microsoft很早就推出的一种WEB应用程序解决方案,也是绝大多数从事网站开发人员很熟悉的一个比较简单的编程环境.通过ASP我们可以创建功能强大的动态的WEB应用程序.ASP虽然功能很强大,但有些功能用纯ASP代码完成不了,为了能保证开发出功能更加强大的WEB应用程序,我们可以借助调用COM组件. 在日常工作中,例如开发一个"商品网上销售系统"吧,为了使顾客对商品的外观有所了解,也就是顾客在看商品的文字介绍的同时在文字的旁边有该商品

ASP.NETR把Excel导入SQL数据库的自定义类

ASP.NETR把Excel导入SQL数据库的自定义类 以下是引用片段:public class SaveToSql {   public string strNewCodeId = string.Empty;   public string strNewCode = string.Empty;   public string strNewDes = string.Empty;   public string strOldCodeId = string.Empty;   public strin