摘要:
1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。2 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满... 阅读全文
摘要:
要牢记3个泛式,我把3NF缩写让大家容易记忆:1,原子性(数据是不可以拆分的,比如1,2,3这样的就违背了1NF)2,关联性(所有字段必须和主键关联)3,非关联性(除主键关联外,其他字段之间不互相关联)数据库设计,要出图,关系型数据库,一定要把关系的线连起来,一幕了然.这样有利于团队合作.如果能出图,不出文档也可以.练习数据库设计,有一个好办法,就是随便拿一个别人数据库,迅速能把字段注释和关系图画出来.这个能力很重要,在实际工作中,迅速能接手别人的数据库项目. 阅读全文
摘要:
当我们在用SQL Server数据库开发系统的时候,经常会遇到系统需要权限控制,然而根据权限的控制程度不同有不同的设计方案。1. 基于角色的权限设计这种方案是最常见也是比较简单的方案,不过通常有这种设计已经够了,所以微软就设计出这种方案的通用做法,这种方案对于每一个操作不做控制,只是在程序中根据角色对是否具有操作的权限进行控制;这里我们就不做详述2. 基于操作的权限设计这种模式下每一个操作都在数据库中有记录,用户是否拥有该操作的权限也在数据库中有记录,结构如下:但是如果直接使用上面的设计,会导致数据库中的UserAction这张表数据量非常大,所以我们需要进一步设计提高效率,请看方案33. 基 阅读全文