上一页 1 ··· 317 318 319 320 321 322 323 324 325 ··· 385 下一页
摘要: 事情是这样的,一个需求,根据当前登陆用户的角色,显示指定的信息列表。说明:角色与信息的状态有关系,如管理员,可以看到状态为1和2的记录,而普通用户只能看到状态是1的记录,对于这种需要,我们可以设置一张表来实现,当然直接写在程序中也可以Role_Status_R表如下:RoleID int Not nullStatus varchar(200) [可以使用int类型,但要求你的值必须是通过位移运算产生的]数据库结构如下:当然也可以设计一个字典来维护它们的关系,但不利于以后扩展,建议使用数据库方式,字典方式代码如下:1 //用户角色与状态关系字典 2 ... 阅读全文
posted @ 2012-07-05 17:19 张占岭 阅读(707) 评论(3) 推荐(4)
摘要: 在上一篇文章中,告诉了大家数据库的三大范式,最基础的莫过于数据表中不能有冗余了,但今天主要说的已经“冗余”,而且,有时候冗余并非都是坏事!如,以下是一个大家伙,用户表user_info,它里面有用户的地址ID,如cityid,可能还有用户扩展表的信息,用户积分表的信息等等,这些信息至少需要三个表关联才能得到我们所需要的信息,而实际情况往往比这个还要复杂的多。这时,一种数据冗余的思想产生了,它相当于是用空间来换时间,即数据库在磁盘上占用的空间多了,但查询的性能提高了,这有时是我们可以接受的,规范固然重要,但有时也要具体问题具体去分析,对我们的user_info表进行改进后,可能是这样的结构use 阅读全文
posted @ 2012-07-03 23:10 张占岭 阅读(1768) 评论(3) 推荐(1)
摘要: 有时,理论与实践有一些差距,在做一个具体的事情时,我们应该以实际为核心,而不是把理论死搬上来,要“从实际出发”,呵呵。在数据库的世界里存在着三大范式,也就是规范,真正的关系型数据库应该尽可能的满足这些规范,但有时,我们却根据实际问题,需要违背这些规范,这个系列我将从实际项目中出发来与大家一起说说“反范式”的设计。设计数据库时,首先要根据业务,找出实体,确定实体间的关系。一个结构良好的数据库,让项目在开发的过程中可以顺畅,而一个结构不稳定的数据库则会导致项目在开发的过程中大量的修改代码。不能满面向对象的开闭原则(OCP)。有时,我们可能会经常为一些业务去添加表字段,而这并不是我提供的,建义大家, 阅读全文
posted @ 2012-07-01 22:55 张占岭 阅读(4066) 评论(2) 推荐(3)
摘要: 回到目录众所周知,自从.net中出现了特性(attribute)之后,代码变得更加简洁,可读性更强了,今天主要说一下Conditional特性,Conditional它主要是约束你的代码段在哪种条件下进行执行,我们今天主要针对DEBUG和TRACE这两个条件约束,它们可以当作是Conditional特性的输入参数,形式如下:1 [Conditional("DEBUG")]2 protected static void LogDebugInfo()3 {4 //在debug模式输出一些调试信息5 Con... 阅读全文
posted @ 2012-06-29 14:29 张占岭 阅读(2953) 评论(1) 推荐(3)
摘要: 回到目录在MVC2时代,我们如果希望在页面上引入一个namespace,可以这样来实现1 <%@ Import Namespace="Web.Helpers" %>如果名称空间是所有页面都需要的,像System.Web.Mvc这种类型的,我们可以把它写在web.config里,像这样 1 <pages> 2 <namespaces > 3 <add namespace="System.Web.Helpers" /> 4 <add namespace="System.Web.Mvc" 阅读全文
posted @ 2012-06-29 11:02 张占岭 阅读(5455) 评论(14) 推荐(9)
上一页 1 ··· 317 318 319 320 321 322 323 324 325 ··· 385 下一页